У меня есть непрерывный веб-сайт, связанный с веб-сайтом, и я запускаю этот веб-сайт в режиме общего доступа. Я не хочу переходить к опции Always On, так как нет реальной потребности в моем приложении. Я только хочу обработать сообщение, когда вызовы сделаны на моем сайте.
Моя проблема заключается в том, что задание продолжает останавливаться через несколько минут, хотя я постоянно вызываю метод манекена на моем веб-сайте каждые 5 минут, который отправляет сообщение в очередь, которая контролируется этим веб-блоком.
Мой webjob - это простое консольное приложение, созданное с использованием SDK WebJob, имеющего такой код, как
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
Я не против, если так происходит, но когда веб-сайт начинает со следующего вызова, чтобы сохранить жизнь, веб-сайт не запускается. Все сообщения помещаются в очередь, пока я не перейду на панель управления или портал 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":{}}]
Я бы очень признателен, если кто-то может помочь мне понять, что здесь происходит не так.