特定の時間にワーカー ロールによって完了するタスクが多数ある Azure ストレージ テーブルが 1 つあります。例:
Task 1: -> run every 5 min
Task 2: -> run every 1 min
Task 3: -> run every 10 min
Task 4: -> run every 1 min
Task 5: -> run every 5 min
...........................
Task 1000: -> run every 1 min
このアプローチは正しいですか: 各タスクには、「LastRun」と呼ばれる DateTime 列があります。タスクを実行する必要がある時間を格納する「RunEvery」という別の列があります。worker ロールは、すべてのタスクを継続的に反復処理し、各タスクについて、次の方法で列 "LastRun" をチェックします。
DateTime currentTime = DateTime.Now;
if (currentTime >= (myTask.LastRun + myTask.RunEvery))
{
myTask.Execute()
}
else
{
Check.Next.Task.InTable();
}
worker ロールが継続的に実行される場合、リソースの消費はどうなるでしょうか? どうすればリソースをスピアできますか? または、これをより良い方法で実装できますか? あなたのアドバイスは何ですか?