Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure Webjob在门户中失败,但运行正常_Azure_Azure Webjobssdk - Fatal编程技术网

Azure Webjob在门户中失败,但运行正常

Azure Webjob在门户中失败,但运行正常,azure,azure-webjobssdk,Azure,Azure Webjobssdk,我使用每小时运行的SDK创建了一个Azure webjob。作业运行良好,但当我在门户中查看作业时,它总是显示失败。我可以从调试控制台运行该作业,一切正常。从控制台运行时,作业通常需要几秒钟才能运行,但按计划运行时,通常会显示12-20分钟,然后才会失败 我如何才能获得更多关于这一失败原因的详细信息?我是否需要告诉webjobs任务已经完成,而它正等着我呢 谢谢, 罗斯 如果作业使用TimerTrigger,则会发生此错误 如果作业长期运行,请在Azure应用程序设置中使用WEBJOBS\u I

我使用每小时运行的SDK创建了一个Azure webjob。作业运行良好,但当我在门户中查看作业时,它总是显示失败。我可以从调试控制台运行该作业,一切正常。从控制台运行时,作业通常需要几秒钟才能运行,但按计划运行时,通常会显示12-20分钟,然后才会失败

我如何才能获得更多关于这一失败原因的详细信息?我是否需要告诉webjobs任务已经完成,而它正等着我呢

谢谢, 罗斯


如果作业使用
TimerTrigger
,则会发生此错误

如果作业长期运行,请在Azure应用程序设置中使用
WEBJOBS\u IDLE\u TIMEOUT
SCM\u命令\u IDLE\u TIMEOUT
,而不是
web.config

如果作业不是长时间运行的,那么它的计划计时器应该少于2分钟,这可能只适用于测试

最后,最终的解决方案是使用AppPlan的
Basic
Standard
产品。 在这种情况下,您可以启用
始终打开
,使容器始终处于装载状态。 但是,
WEBJOBS\u IDLE\u TIMEOUT
SCM\u COMMAND\u IDLE\u TIMEOUT
也必须如上所述进行设置。如果使用CRON(TimerTrigger)表达式触发的连续WebJobs或WebJobs中的一个或多个WebJobs没有
始终打开
,则无法可靠运行


有关更多详细信息,请参阅。

嗯,嗯,切换输出显示了更多。。。[02/06/2020 19:30:07>bb2ea2:INFO]作业主机已启动[02/06/2020 19:48:14>bb2ea2:ERR]命令“cmd/c”“run.cmd”“”已中止,因为在121秒内没有输出或CPU活动。如果需要,您可以增加SCM_命令_IDLE_TIMEOUT应用程序设置(或WEBJOBS_IDLE_TIMEOUT,如果这是WebJob)。cmd/c“run.cmd”[02/06/2020 19:48:14>bb2ea2:SYS INFO]状态更改为Failed,因此正在超时。但是作业确实在运行。从Kudu控制台运行时,我会看到以下信息:Microsoft.Azure.WebJobs.Hosting.JobHostService[0]启动JobHost信息:Host.Startup[0]找到以下函数:CapitalCorerages.WebJobs.functions.ProcessCoverage。。。信息:主机。启动[0]作业主机已启动应用程序已启动。按Ctrl+C组合键关闭。托管环境:生产内容根路径:D:\home\site\wwwroot\app\u data\Jobs\Triggered\Coverages.WebJobs\看起来当它完成时,它又开始了另一个作业?这个答案完全是在转移注意力--我刚刚创建了一个全新的“Worker Service”项目(来自.NET Core 3.1模板),将其作为触发的web作业部署到一个基本应用程序服务中--它记录hello world,等待10秒,然后再见world--所有代码运行正常,看起来退出正常…--但是Azure坚持说,即使它完全完成了,它仍然在运行,最终它说作业失败是因为它超时了一定有办法告诉azure它已经完成了,但不清楚那是什么。