我有一个Azure存储表格,其中包含一堆任务需要在特定时间由工作角色完成。例如:
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”,存储任务应该执行的时间。工作角色不断地迭代所有任务,并且对于每个任务,使用以下方法检查“LastRun”列:
DateTime currentTime = DateTime.Now;
if (currentTime >= (myTask.LastRun + myTask.RunEvery))
{
myTask.Execute()
}
else
{
Check.Next.Task.InTable();
}
如果工作角色持续运行,资源消耗会怎样?我们该如何节约资源?或者我能用更好的方式实现吗?您有什么建议吗?