我有一个与网站关联的连续网络作业,并且我在共享模式下运行该网站。我不想使用 Always On 选项,因为我的应用程序并不真正需要。我只想在对我的网站进行调用时处理该消息。
我的问题是,即使我每 5 分钟在我的网站上不断调用一个虚拟的保持活动方法,该方法在几分钟后向该 Web 作业监控的队列发布一条消息,该工作仍然会停止。
我的 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":{}}]
如果有人可以帮助我了解这里出了什么问题,我将不胜感激。