我在Azure WebApp上有一个Azure预定的Web作业。在web作业中,它从azure blob下载excel文件并读取(文件中25-30k记录),然后迭代循环以在数据库中插入记录。现在,当我们第一次安排(安排时间:18小时)作业成功运行并处理文件中的所有记录而没有任何中断时(在此时间站点之间访问)。但是,下次失败(中止)没有任何理由(没有人访问过网站。可能处于空闲状态)。
当我查看日志时没有任何迹象。但是,第一个计划成功运行并显示成功状态以后所有都处于已中止状态,为什么?
还完成了webapp中的以下设置:
stops_wait_time - 3600
WEBJOBS_IDLE_TIMEOUT - 3600
SCM_COMMAND_IDLE_TIMEOUT - 121
答案 0 :(得分:2)
<强>
Always On
即可。默认情况下,如果Web应用程序对某些应用程序空闲,则会将其卸载 一段的时间。这使系统可以节省资源。在Basic或 在标准模式下,您可以启用Always On以保持应用程序全部加载 时间。如果您的应用运行连续的Web作业,则应启用“始终” 打开,或者Web作业可能无法可靠地运行。
因此,Azure Web Apps没有承诺让您的WebJob继续运行超过20分钟。如果您需要依赖,则需要启用Always On
。启用它。见下文。
Always On
设为开,然后点击保存。图片中显示:
如果您使用的是免费的Azure层,也许这个主题可以帮助您:How can I keep my Azure WebJob running without "Always On"。