我的webjob是一个连续的工作,就像它应该循环,所以它不会停止运行。我有一个小的错误处理,它重新启动作业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?
我研究了WEBJOBS_RESTART_TIME
中的Github Kudu repo配置设置。如果搜索代码WEBJOBS_RESTART_TIME
,您会发现为其定义的varibale WebJobsRestartTime
用作别名,如下所示。
public const string WebJobsRestartTime = "WEBJOBS_RESTART_TIME";
然后,继续搜索WebJobsRestartTime
,有a code comment解释你怀疑的等待时间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.