Microsoft Azure中的Azure Web作业和Azure Scheduler之间的区别?

时间:2014-06-25 13:00:24

标签: azure azure-webjobs azure-scheduler

任何人都可以解释Azure Web Jobs和Azure Scheduler之间的区别

2 个答案:

答案 0 :(得分:5)

Azure Web作业

  1. 仅适用于Azure网站
  2. 它用于以特定间隔运行代码。例如。每天一个控制台应用程序
  3. 用于触发和运行工作负载。
  4. 主要推荐用于与网站一起扩展或相对较小的工作负载。
  5. 如果选择“Always On”,则可以持续运行,否则您将获得20分钟超时。
  6. 需要运行的代码和日程安排一起定义。
  7. Azure计划程序

    1. 不依赖于网站或云服务
    2. 它允许您调用网站或向存储队列添加消息
    3. 用于触发事件或触发小型工作负载(例如添加到队列),通常用于触发更大的工作负载
    4. 主要建议用于触发更复杂的工作负载。
    5. 这只是一个触发器,并且需要单独编码监听触发事件(例如队列)的单独函数。
    6. 对于许多实例,我更喜欢使用调度程序推送到存储队列,并且每个实例上的辅助角色都会取消队列。这样可以精确控制任务,也可以在网站之外进行上下调整。

      使用WebJobs,他们会随着您的网站进行扩展和缩小,因此如果您的网站流量较低并且缩小规模,您的后台任务就会变得过高。

答案 1 :(得分:4)

Azure计划程序 - 提供一种方法,可以在明确定义的计划中轻松安排http呼叫,例如每小时,每周五上午9:00,每天一次,......

Azure WebJobs - 提供一种方法来运行中小型工作负载(以脚本形式:.exe,.cmd,.sh,.js,...) Azure网站的上下文(但即使是空网站也可以托管)。

虽然WebJob可以连续运行(使用具有while循环的进程),但Azure将确保此WebJob始终在运行(使用" Always On"设置)。

Azure调度程序和Azure WebJobs之间也有一个集成,你有一个运行一些有限工作的WebJob,而且调用者负责安排这项工作(调用WebJob)。

总而言之,调度程序是关于调度工作的,WebJobs是关于运行工作负载的。