OnDemand WebJob在几分钟后失败



我刚刚创建了一个简单的web作业,它只向控制台写入一些内容。此作业应该按需运行,所以当我将其发布到Azure时,我将其设置为按需运行。

当我运行它时,它工作正常,但几分钟后它失败了,并显示以下消息。

[12/07/2015 18:07:20>f78915:ERR]命令"cmd/c TestJob.exe"为由于121秒内没有输出或CPU活动而中止。你可以增加SCM_COMMAND_IDLE_TIMEOUT应用程序设置(或WEJOBS_IDLE_TIMEOUT(如果这是WebJob)。cmd/cTestJob.exe[12/07/2015 18:07:20>f78915:SYS INFO]状态更改为失败

以下是该错误之后的内容:

[12/07/2015 18:07:20>f78915:SYS ERR]System.AggregateException:出现一个或多个错误。--->Kudu.Core.Infrastructure.CommandLineException:命令cmd/c由于121没有输出或CPU活动,TestJob.exe已中止秒。您可以增加SCM_COMMAND_IDLE_TIMEOUT应用程序设置(或WEJOBS_IDLE_TIMEOUT(如果这是WebJob)。cmd/c位于的TestJob.exeKudu.Core.Infrastructure.IidleManager.WWaitForExit(IProcess进程)
位于Kudu.Core.Infrastructure.ProcessExtensions.d_a.MoveNext()---从上一个引发异常的位置开始的堆栈结尾跟踪--在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)Kudu.Core.Infrastructure.Executable.d_1d.MoveNext()
---内部异常堆栈跟踪结束---位于System.Threading.Tasks.Task.SthrowIfExceptional(布尔值includeTaskCanceledExceptions)位于的System.Threading.Tasks.Task 1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task 1.get_Result()Kudu.Core.Infrastructure.Executable.ExecuteInternal(ITracer tracer,函数2 onWriteOutput, Func 2 onWriteError,编码,字符串arguments,Object[]args)Kudu.Core.Infrastructure.Executable.ExecuteReturnExitCode(ITracertracer,操作1 onWriteOutput, Action 1 onWriteError,字符串arguments,Object[]args)Kudu.Core.Jobs.BaseJobRunner.RunJobInstance(JobBase作业,IJobLoggerlogger,字符串runId,字符串触发器,Int32端口)--->(内部异常#0)出口代码:-1,输出:由于121没有输出或CPU活动,命令"cmd/c TestJob.exe"被中止秒。您可以增加SCM_COMMAND_IDLE_TIMEOUT应用程序设置(或WEJOBS_IDLE_TIMEOUT(如果这是WebJob)。,错误:命令"cmd/c TestJob.exe"已中止,原因是没有的输出或CPU活动121秒。您可以增加SCM_COMMAND_IDLE_TIMEOUT应用程序设置(如果这是WebJob,则为WEBJOBS_IDLE_TIMEOUT)。,Kudu.Core.Infrastructure.CommandLineException:命令cmd/c由于121没有输出或CPU活动,TestJob.exe已中止秒。您可以增加SCM_COMMAND_IDLE_TIMEOUT应用程序设置(或WEJOBS_IDLE_TIMEOUT(如果这是WebJob)。cmd/c位于的TestJob.exeKudu.Core.Infrastructure.IidleManager.WWaitForExit(IProcess进程)
位于Kudu.Core.Infrastructure.ProcessExtensions.d_a.MoveNext()---从上一个引发异常的位置开始的堆栈结尾跟踪--在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)Kudu.Core.Infrastructure.Executable.d_1d.MoveNext()<---

以下是此web作业的全部代码。

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

我知道它失败是因为没有活动,但它应该是一个按需运行的工作。我在哪里犯错误?

这是一个按需运行的作业,这与错误无关。这只是一项工作,当你告诉它的时候就开始了。

在一段时间内(根据你得到的结果,121秒)什么都不做的工作将中止。

最新更新