Kar*_*sar 4 c# azure azureservicebus azure-servicebus-queues
我有一个订阅模型,并且想要执行与更新相关的逻辑,例如开具新发票、发送电子邮件等。例如,用户今天购买订阅,并且更新是在一年的时间。我最近一直在使用 Azure Queue,并认为它会申请这样的续订。
是否可以通过使用BrokeredMessage.ScheduledEnqueueTimeUtc
( http://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.brokeredmessage.scheduledenqueuetimeutc.aspx )推送消息来使用 Azure 队列来处理此类长期计划消息?
我在短期内使用它,比如在 1 分钟内发送通知,效果很好。
这样,我什至可以让多个进程监听队列,并确保只有一个进程会执行更新逻辑。这将解决许多与锁定相关的问题,因为它是通过租用和相关功能内置在 Azure 队列中的。
是的,您可以将其用于长期调度,调度消息与普通消息具有相同的保证。但是,您需要注意以下几点:
ScheduledEnqueueTimeUtc
是消息将在队列上可用(数百毫秒内)但不需要传递的时间,这取决于队列的负载和状态。所以它适用于业务流程,但不适用于时间敏感(毫秒)的使用。对您来说不是问题,除非您的订阅取消对时间非常敏感。ScheduledEnqueueTimeUtc
,它们是不可见的。从技术角度来看,这很好,但在您的情况下,如果您考虑多年,我还会考虑其他潜在问题:
归档时间: |
|
查看次数: |
3856 次 |
最近记录: |