0

我需要一些有关 Azure webjobs 的帮助,因为即使在阅读了许多文章之后,我仍然不清楚如何让一个“简单的”Azure webjobs 启动并运行。我正在努力实现以下目标:

  1. 作业应按计划运行(例如每 4 小时)
  2. webjob 应该在不使用队列的情况下运行(例如完全独立)
  3. Web 应用程序不必“始终开启”
  4. webjob 应该能够运行长时间运行的任务(例如 3 小时)
  5. 如果可能的话,应该可以在免费层中运行

下面是我正在尝试的示例的简短代码。

 static void Main(string[] args)
 {
      var host = new JobHost();
      host.Call(typeof(Program).GetMethod("RunTask"));
 }

 [NoAutomaticTrigger]
 public static void RunTask(TextWriter log)
 {
     log.WriteLine($"Executed: {DateTime.Now.ToLongTimeString()}");
 }

有没有人有这方面的经验?

4

1 回答 1

1

您可以在这里找到您的遮阳篷:web-sites-create-web-jobs

1.作业应按计划运行(例如每4小时)

您可以在计划中执行此操作,也可以使用 CRON 表达式

2.webjob应该在不使用队列的情况下运行(例如完全独立)

取决于您对完全独立的定义,触发器是从外部开始您的工作的东西。或者您可以使用 CRON 表达式

3.Web应用程序不应该是“永远在线”

使用 CRON 表达式时,作业必须始终开启。当您每 4 小时触发一次作业并运行 3 小时时,您的作业似乎几乎一直在运行

4.webjob应该能够运行长时间运行的任务(例如3小时)

一直使用

5.如果可能的话,应该可以在免费层中运行

•如果没有对scm(部署)站点的请求并且Web 应用程序的门户未在Azure 中打开,则免费模式下的Web 应用程序可能会在20 分钟后超时。对实际站点的请求不会重置此设置。

于 2016-05-30T12:16:49.697 回答