我有一个与网站相关联的连续webjob,我在共享模式下运行该网站.我不想转到Always On选项,因为我的应用程序并不需要.我只想在给我的网站打电话时处理这条消息.
我的问题是,几分钟后工作仍然停止,即使我每隔5分钟在我的网站上不断调用一个虚拟保持方法,该方法将消息发布到由该webjob监视的队列中.
我的webjob是一个使用WebJob SDK构建的简单控制台应用程序,它具有这样的代码
JobHost host = new JobHost(new JobHostConfiguration(storageConnictionSttring));
host.RunAndBlock();
Run Code Online (Sandbox Code Playgroud)
消息处理函数如下所示:
public static void ProcessKeepAliveMessages([QueueTrigger("keepalive")] KeepAliveTrigger message)
{
Console.WriteLine("Keep Alive message called on :{0}", message.MessageTime);
}
Run Code Online (Sandbox Code Playgroud)
该作业的消息日志基本上说
[03/05/2015 18:51:02 > 4660f6: SYS INFO] WebJob is stopping due to website shutting down
Run Code Online (Sandbox Code Playgroud)
我不介意这种情况是否会发生,但是当网站开始下一次保持活动时,webjob就不会启动.所有消息都排队,直到我进入管理仪表板或SCM门户,如下所示
https://mysite.scm.azurewebsites.net/api/continuouswebjobs
Run Code Online (Sandbox Code Playgroud)
我可以看到这样的状态:
[{"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":{}}]
Run Code Online (Sandbox Code Playgroud)
如果有人能帮我理解这里出了什么问题,我真的很感激.