在每周需要一次或每天一次的服务总线消息中实施的最佳方法是什么等。
我正在考虑使用一个单独的Windows服务,只是将数据库中的消息丢入服务总线,但还有其他方法吗?
简单来说,我想要一条消息,一旦它被处理,它将在指定的时间内再次出现在队列中再次处理。显然,一旦我处理消息,我可以告诉服务总线删除消息或再次出现在队列中。
答案 0 :(得分:0)
您需要有一些外部流程(例如您的Windows服务),它们会按计划首先发送消息。您可以使用Azure Scheduler执行此操作,请参阅http://www.prasadthinks.com/blog/2015/07/11/azure-scheduler-can-post-to-azure-service-bus-queue-and-topic/
当您处理邮件时,您可以执行您正在描述的内容,即使用BrokeredMessage.ScheduledEnqueueTimeUtc属性重新发送邮件的副本,以便它在您想要的时间到达。但我不会这样做,感觉不对。如果您的外部处理已按计划发送消息,则只需依靠100%。