【发布时间】:2015-05-08 09:02:36
【问题描述】:
我有一个与网站关联的连续网络作业,并且我正在在共享模式下运行该网站。我不想使用 Always On 选项,因为我的应用程序并不真正需要。我只想在调用我的网站时处理消息。
我的问题是,即使我每隔 5 分钟在我的网站上不断调用一个虚拟的 keep alive 方法,该方法会在该网络作业监控的队列中发布一条消息,但几分钟后该作业仍然停止。
我的 webjob 是一个使用 WebJob SDK 构建的简单控制台应用程序,其中包含这样的代码
JobHost host = new JobHost(new JobHostConfiguration(storageConnictionSttring));
host.RunAndBlock();
消息处理函数如下:
public static void ProcessKeepAliveMessages([QueueTrigger("keepalive")] KeepAliveTrigger message)
{
Console.WriteLine("Keep Alive message called on :{0}", message.MessageTime);
}
该工作的消息日志基本上说
[03/05/2015 18:51:02 > 4660f6: SYS INFO] WebJob is stopping due to website shutting down
我不介意这种情况发生,但是当网站启动下一个保持活动状态的调用时,webjob 不会启动。所有消息都排队,直到我进入管理仪表板或 SCM 门户,如下所示
https://mysite.scm.azurewebsites.net/api/continuouswebjobs
我可以看到这样的状态:
[{"status":"Starting","detailed_status":"4660f6 - Starting\r\n","log_url":"https://mysite.scm.azurewebsites.net/vfs/data/jobs/continuous/WebJobs/job_log.txt","name":"WebJobs","run_command":"mysite.WebJobs.exe","url":"https://mysite.scm.azurewebsites.net/api/continuouswebjobs/WebJobs","extra_info_url":"https://mysite.scm.azurewebsites.net/azurejobs/#/jobs/continuous/WebJobs","type":"continuous","error":null,"using_sdk":true,"settings":{}}]
如果有人能帮助我了解这里出了什么问题,我将不胜感激。
【问题讨论】:
-
您可以使用 WebJob Api stackoverflow.com/questions/38346062 手动触发作业。
标签: azure azure-web-app-service azure-webjobs azure-webjobssdk