Azure Webjob перезапускается через 0 секунд.Зачем? - PullRequest
0 голосов
/ 30 ноября 2018

Моя веб-работа - это непрерывная работа, и она должна быть в цикле, чтобы она не прекращалась.У меня есть небольшая обработка ошибок, которая перезапускает работу 5 раз, пока она не деактивирует работу в коде.Это прекрасно работает.

Но если он перезапускается в первый раз, WEBJOBS_RESTART_TIME устанавливается в 0 или что-то еще, как в примере ниже.Я не знаю почему, и я знаю, что это просто мелочь, но в следующий раз, когда он перезапускается, все идеально.

Здесь 0 секунд:

[11/30/2018 10:57:27 > 2f0a74: SYS ERR ] Job failed due to exit code -1
[11/30/2018 10:57:27 > 2f0a74: SYS INFO] Process went down, waiting for 0 seconds
[11/30/2018 10:57:27 > 2f0a74: SYS INFO] Status changed to PendingRestart
[11/30/2018 10:57:28 > 2f0a74: SYS INFO] Run script 'run.bat' with script host - 'WindowsScriptHost'
[11/30/2018 10:57:28 > 2f0a74: SYS INFO] Status changed to Running

, и это бег послеперезапуск:

[11/30/2018 10:59:07 > 2f0a74: SYS ERR ] Job failed due to exit code -1
[11/30/2018 10:59:07 > 2f0a74: SYS INFO] Process went down, waiting for 60 seconds
[11/30/2018 10:59:07 > 2f0a74: SYS INFO] Status changed to PendingRestart
[11/30/2018 11:00:09 > 2f0a74: SYS INFO] Run script 'run.bat' with script host - 'WindowsScriptHost'
[11/30/2018 11:00:09 > 2f0a74: SYS INFO] Status changed to Running

Вот так это должно выглядеть.Время перезапуска 60 секунд.Почему это первый раз 0?

1 Ответ

0 голосов
/ 18 декабря 2018

Я исследовал настройки конфигурации WEBJOBS_RESTART_TIME в репозитории Github Kudu .При поиске кода WEBJOBS_RESTART_TIME вы найдете переменную WebJobsRestartTime, определенную для его использования в качестве псевдонима, как показано ниже.

public const string WebJobsRestartTime = "WEBJOBS_RESTART_TIME";

Затем продолжите поиск WebJobsRestartTime, есть код комментария объясните время ожидания 0 и 60 вы сомневаетесь.

// The wait time between WebJob invocations is either WebJobsRestartTime (60 seconds by default) or if the WebJob
// Was running for at least 2 minutes there is no wait time.
...