我有一个 Windows 服务,它侦听Azure 服务总线队列消息,以便从我的 WebApi 应用程序分发处理。我还需要处理重复性任务(每晚/每周),我认为最好使用相同的系统来处理这些任务。
例如,假设我有一个“CleanupDb”队列,每天午夜删除陈旧的数据库节点:
var client = QueueClient.Create("CleanupDb");
var options = /* ... */
client.OnMessage((message) => {
client.Send(new BrokeredMessage() {
ScheduledEnqueueTimeUtc = DateTime.Today.AddDays(1)
});
// do DB Cleanup
}, options)
理论上这应该可行,但我觉得我错过了一种更明显的处理方式。有没有更好的办法?