我有一个 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”的日期时间列。还有一个名为“RunEvery”的列存储必须执行任务的时间。worker 角色不断迭代所有任务,并为每个任务使用以下方法检查“LastRun”列:
DateTime currentTime = DateTime.Now;
if (currentTime >= (myTask.LastRun + myTask.RunEvery))
{
myTask.Execute()
}
else
{
Check.Next.Task.InTable();
}
如果工作者角色连续运行,那么消耗资源呢?我们如何才能获得资源?或者我可以以更好的方式实现这一点吗?你有什么建议?