[英]OnDemand WebJob fails after a few minutes
我剛剛創建了一個簡單的Web作業,該作業只為控制台編寫內容。 該作業應該按需運行,因此當我將其發布到Azure時,我將其設置為按需運行。
當我運行它時,它工作正常,但幾分鍾后,它失敗並顯示以下消息。
[12/07/2015 18:07:20> f78915:錯誤]命令'cmd / c TestJob.exe'因121秒內沒有輸出或CPU活動而中止。 如果需要,可以增加SCM_COMMAND_IDLE_TIMEOUT應用程序設置(如果是WebJob,則可以增加WEBJOBS_IDLE_TIMEOUT)。 cmd / c TestJob.exe [2015年12月7日18:07:20> f78915:SYS INFO]狀態更改為失敗
發生此錯誤的原因如下:
[12/07/2015 18:07:20> f78915:SYS錯誤] System.AggregateException:發生一個或多個錯誤。 ---> Kudu.Core.Infrastructure.CommandLineException:命令'cmd / c TestJob.exe'被中止,原因是在121秒內沒有輸出或CPU活動。 如果需要,可以增加SCM_COMMAND_IDLE_TIMEOUT應用程序設置(如果是WebJob,則可以增加WEBJOBS_IDLE_TIMEOUT)。 cmd / c TestJob.exe位於Kudu.Core.Infrastructure.IdleManager.WaitForExit(IProcess進程)
-在Kudu.Core.Infrastructure.ProcessExtensions.d__a.MoveNext()處-從上次引發異常的位置開始的堆棧跟蹤-在System.Runtime處System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)處。 Kudu.Core.Infrastructure.Executable.d__1d.MoveNext()上的CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)
---內部異常堆棧跟蹤的結尾---在System.Threading.Tasks.Task 1處為System.Threading.Tasks.Task.ThrowIfExceptional1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task
1處1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task
Kudu.Core.Infrastructure.Executable.ExecuteInternal(ITracer跟蹤器,Func2 onWriteOutput, Func
2 onWriteError,編碼編碼,字符串參數,Object [] args)處的.get_Result()。 ,Kudu.Core.Jobs.BaseJobRunner.RunJobInstance(JobBase作業,IJobLogger記錄器,String runId,String觸發器,Int32端口)處的動作1 onWriteOutput, Action
1 onWriteError,字符串參數,Object [] args)--->(內部異常#0)ExitCode:-1,輸出:命令'cmd / c TestJob.exe'被中止,原因是121秒鍾內沒有輸出或CPU活動。 如果需要,可以增加SCM_COMMAND_IDLE_TIMEOUT應用設置(如果是WebJob,則可以增加WEBJOBS_IDLE_TIMEOUT)。錯誤:由於沒有輸出也沒有CPU活動121秒,命令'cmd / c TestJob.exe'被中止。 您可以根據需要增加SCM_COMMAND_IDLE_TIMEOUT應用程序設置(如果是WebJob,則可以增加WEBJOBS_IDLE_TIMEOUT)。Kudu.Core.Infrastructure.CommandLineException:由於沒有輸出也沒有CPU活動121秒,命令'cmd / c TestJob.exe'被中止。 如果需要,可以增加SCM_COMMAND_IDLE_TIMEOUT應用程序設置(如果是WebJob,則可以增加WEBJOBS_IDLE_TIMEOUT)。 cmd / c TestJob.exe位於Kudu.Core.Infrastructure.IdleManager.WaitForExit(IProcess進程)
-在Kudu.Core.Infrastructure.ProcessExtensions.d__a.MoveNext()處-從上次引發異常的位置開始的堆棧跟蹤-在System.Runtime處System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)處。位於Kudu.Core.Infrastructure.Executable.d__1d.MoveNext()的CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)<-
這是此網絡作業的完整代碼。
static void Main()
{
var host = new JobHost();
Console.Out.WriteLine("Testing the test job...");
host.RunAndBlock();
}
我知道它失敗是因為沒有活動,但應該是按需運行的工作。 我在哪里出錯?
這是一項按需運行的工作,這一事實與錯誤無關。 告訴您這只是開始的工作。
在一段時間(根據您得到的結果為121秒)內不執行任何操作的作業將中止。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.