OnDemand WebJob завершается с ошибкой через несколько минут

Я только что создал простое веб-задание, которое просто что-то пишет в консоль. Это задание должно выполняться по запросу, поэтому, когда я опубликовал его в Azure, я настроил его на выполнение по запросу.

Когда я запускаю его, он работает нормально, но через несколько минут выдает следующее сообщение.

[12.07.2015 18:07:20> f78915: ERR] Команда 'cmd / c TestJob.exe' была прервана из-за отсутствия вывода или активности процессора в течение 121 секунды. При необходимости вы можете увеличить параметр приложения SCM_COMMAND_IDLE_TIMEOUT (или WEBJOBS_IDLE_TIMEOUT, если это веб-задание). cmd / c TestJob.exe [12.07.2015 18:07:20> f78915: SYS INFO] Статус изменен на Failed

Вот что следует за этой ошибкой:

Вот полный код этого веб-задания.

Я понимаю, что это не удается, потому что нет активности, но это должна быть работа, выполняемая по запросу. Где я ошибаюсь?

static void Main()
        {
            var host = new JobHost();
            Console.Out.WriteLine("Testing the test job...");
            host.RunAndBlock();
        }

Тот факт, что это задание выполняется по запросу, не имеет ничего общего с ошибкой. Это просто работа, которая начинается, когда вы ей приказываете.


person Sam    schedule 07.12.2015    source источник


Ответы (1)


Задания, которые ничего не делают в течение определенного периода времени (121 секунда в зависимости от того, что у вас есть), будут прерваны.

Они прерываются с сообщением об ошибке? Есть ли способ уложить работу в более изящный режим?

person Maria Ines Parnisari    schedule 07.12.2015
comment
Судя по всему, ваша работа не делает ничего, кроме печати на консоли. Таким образом, вызов _1_ не нужен; эта строка используется для непрерывных веб-заданий. - person Sam; 08.12.2015
comment
В этом есть смысл! Спасибо. - person Maria Ines Parnisari; 08.12.2015
comment
[12.07.2015 18:07:20> f78915: SYS ERR] System.AggregateException: произошла одна или несколько ошибок. ---> Kudu.Core.Infrastructure.CommandLineException: команда cmd / c TestJob.exe была прервана из-за отсутствия вывода или активности процессора в течение 121 секунды. При необходимости вы можете увеличить параметр приложения SCM_COMMAND_IDLE_TIMEOUT (или WEBJOBS_IDLE_TIMEOUT, если это веб-задание). cmd / c TestJob.exe в Kudu.Core.Infrastructure.IdleManager.WaitForExit (процесс IProcess)
в Kudu.Core.Infrastructure.ProcessExtensions.d__a.MoveNext () --- Конец трассировки стека из предыдущего места, где было исключение брошено --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задача) в Kudu.Core.Infrastructure.Executable.d__1d - Конец внутренней трассировки стека исключений --- в System.Threading.Tasks.Task.ThrowIfExceptional (логическое includeTaskCanceledExceptions) в System.Threading.Tasks.Task_1_1.get_Result () в Kudu.Core.Infrastructure.Executable.ExecuteInternal (ITracer tracer , Func_2_2 onWriteError, Кодирование кодирования, Строковые аргументы, Аргументы Object []) в Kudu.Core.Infrastructure.Executable.ExecuteReturnExitCode (трассировщик ITracer, Action_3_1 onWriteError, Строковые аргументы, Аргументы Object []) в Kudu .Core.Jobs.BaseJobRunner.RunJobInstance (JobBase job, IJobLogger logger, String runId, String trigger, Int32 port) ---> (Внутреннее исключение # 0) ExitCode: -1, Вывод: Команда 'cmd / c TestJob.exe' был прерван из-за отсутствия вывода или активности процессора в течение 121 секунды. Вы можете увеличить параметр приложения SCM_COMMAND_IDLE_TIMEOUT (или WEBJOBS_IDLE_TIMEOUT, если это веб-задание), если необходимо., Ошибка: команда 'cmd / c TestJob.exe' была прервана из-за отсутствия вывода или активности ЦП в течение 121 секунды. Вы можете увеличить параметр приложения SCM_COMMAND_IDLE_TIMEOUT (или WEBJOBS_IDLE_TIMEOUT, если это веб-задание), если необходимо. Kudu.Core.Infrastructure.CommandLineException: команда cmd / c TestJob.exe была прервана из-за отсутствия вывода или активности процессора в течение 121 секунды. При необходимости вы можете увеличить параметр приложения SCM_COMMAND_IDLE_TIMEOUT (или WEBJOBS_IDLE_TIMEOUT, если это веб-задание). cmd / c TestJob.exe в Kudu.Core.Infrastructure.IdleManager.WaitForExit (процесс IProcess)
в Kudu.Core.Infrastructure.ProcessExtensions.d__a.MoveNext () --- Конец трассировки стека из предыдущего места, где было исключение брошено --- в System. Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи) в Kudu.Core.Infrastructure.Executable.d__1d.Move ‹Next () - person Sam; 08.12.2015