WebApi アプリケーションからの処理を分散するために、 Azure Service Bus キュー メッセージをリッスンする Windows サービスがあります。さらに、定期的なタスク (毎晩/毎週) を処理する必要がありますが、これは同じシステムを使用して処理するのが最適であると考えていました。
たとえば、毎日深夜に古い DB ノードを削除する「CleanupDb」のキューがあるとします。
var client = QueueClient.Create("CleanupDb");
var options = /* ... */
client.OnMessage((message) => {
client.Send(new BrokeredMessage() {
ScheduledEnqueueTimeUtc = DateTime.Today.AddDays(1)
});
// do DB Cleanup
}, options)
理論的にはこれでうまくいくはずですが、これを処理するより明白な方法が欠けているように感じます。より良い方法はありますか?