Azure任务计划程序

19 cloud scheduling task azure

虽然这个问题特别适用于Azure,但我确信这是云计算的常见情况.

我有一个我需要在某个时间运行的任务列表.使用窗口的服务器,我可以使用任务计划程序并安排我的程序在特定时间运行.我可以更进一步,创建一个以给定间隔运行的Windows服务,然后执行适当的任务.

有没有人对云计算环境有最佳方法的建议?

我可以创建一个工作者角色,每秒轮询一次任务列表,然后将相应的任务抛出到由另一个工作者角色处理的队列中.

我可以创建一个每天运行一次的工作者角色,抓取所有任务并将它们提交到队列中.然后,处理器角色将一个项目从队列中拉出并在适当的时间处理.

还有其他建议吗?

Cle*_*ers 8

您可以设置服务总线队列并将其用作调度程序.

通过将消息上的ScheduledEnqueueTimeUtc设置为所需的时间将消息发送到队列中,此时消息将显示在队列中.在执行工作人员/ Web角色中,您在该队列上设置了一个接收器,然后在消息显示后立即获取作业,即作业到期.

关于这一点的好处是,您可以使用它来平衡多个实例中的作业,并且由于计时器完全在您的应用程序外部,因此您无需存储和复活并管理它.SB为您做到了这一切.

一个警告:SB无法取消预定的消息.


Phi*_*hil 7

现在有几个选项可以在Azure上执行此操作


Mit*_*eat 1

重复:推荐一个 C# 任务调度库 ,其中推荐Quartz.Net。我最近在做一个项目,在Windows下成功地使用了这个。