我有一个Azure Web应用程序,其中包含一些Web作业来运行一些后台任务 . 这些任务需要按计划运行(每6小时一次) . 使用WebJob很容易实现目标 . 但是,最近我们决定使用Web角色而不是Web App . 为了运行后台任务,我一直在寻找使用Web角色的工作者角色 . 但是我在安排任务方面遇到了问题 .如何在辅助角色中安排任务?此外,由于我使用的是Cloud Service的多个实例,我是否需要采取一些额外的预防措施来确保只有一个worker角色实例在一个时间点运行任务?
您可以使用辅助角色中的Azure WebJobs SDK来计划任务 . SDK包含 TimerTrigger 扩展名(details here),可用于按计划运行功能 . 例如,您可以简单地编写一个函数:
// Runs once every 6 hours public static void TimerJob([TimerTrigger("06:00:00")] TimerInfo timer) { Console.WriteLine("Timer job fired!"); }
您的启动代码如下所示:
JobHostConfiguration config = new JobHostConfiguration(); config.UseTimers(); JobHost host = new JobHost(config); host.RunAndBlock();
1 回答
您可以使用辅助角色中的Azure WebJobs SDK来计划任务 . SDK包含 TimerTrigger 扩展名(details here),可用于按计划运行功能 . 例如,您可以简单地编写一个函数:
您的启动代码如下所示: