停止按需锁定/触发Azure Webjob

停止按需锁定/触发Azure Webjob,azure,azure-webjobs,Azure,Azure Webjobs,我在Azure中有一个“已触发”的Webjob,它一直处于“运行”状态 它已处于此状态两天,计划每5分钟运行一次 此Webjob以前工作没有任何问题。这个问题似乎发生在一个星期六(我的时区),这意味着没有人在它坏的时候玩它 到目前为止我所尝试的: 重新启动Webjob附加到的站点 从azure门户手动运行作业* 重新部署站点 在应用程序设置中设置WEBJOBS\u STOPPED=1 将计划时间从5分钟更改为6分钟 *这给了我一个错误: Could not run job: 'Enrolment

我在Azure中有一个“已触发”的Webjob,它一直处于“运行”状态 它已处于此状态两天,计划每5分钟运行一次

此Webjob以前工作没有任何问题。这个问题似乎发生在一个星期六(我的时区),这意味着没有人在它坏的时候玩它

到目前为止我所尝试的:

  • 重新启动Webjob附加到的站点
  • 从azure门户手动运行作业*
  • 重新部署站点
  • 在应用程序设置中设置WEBJOBS\u STOPPED=1
  • 将计划时间从5分钟更改为6分钟
  • *这给了我一个错误:

    Could not run job: 'EnrolmentProcessor'.
    Please try again. If the problem persists, contact support.
    
    所有这些都没有影响流程,流程仍然处于“运行”状态

    我已经从KUDU调试控制台查看了文件夹,并注意到以下内容:

    失败的进程有以下日志行:

    [04/15/2016 22:20:02 > 1e4ce4: SYS INFO] Status changed to Initializing
    [04/15/2016 22:20:02 > 1e4ce4: SYS INFO] Run script 'TERACC.WebJob.EnrolmentProcessor.exe' with script host - 'WindowsScriptHost'
    [04/15/2016 22:20:02 > 1e4ce4: SYS INFO] Status changed to Running
    
    [04/15/2016 22:15:01 > 1e4ce4: SYS INFO] Status changed to Initializing
    [04/15/2016 22:15:01 > 1e4ce4: SYS INFO] Run script 'TERACC.WebJob.EnrolmentProcessor.exe' with script host - 'WindowsScriptHost'
    [04/15/2016 22:15:01 > 1e4ce4: SYS INFO] Status changed to Running
    [04/15/2016 22:18:51 > 1e4ce4: SYS INFO] Status changed to Success
    
    上一个成功的进程有以下日志行:

    [04/15/2016 22:20:02 > 1e4ce4: SYS INFO] Status changed to Initializing
    [04/15/2016 22:20:02 > 1e4ce4: SYS INFO] Run script 'TERACC.WebJob.EnrolmentProcessor.exe' with script host - 'WindowsScriptHost'
    [04/15/2016 22:20:02 > 1e4ce4: SYS INFO] Status changed to Running
    
    [04/15/2016 22:15:01 > 1e4ce4: SYS INFO] Status changed to Initializing
    [04/15/2016 22:15:01 > 1e4ce4: SYS INFO] Run script 'TERACC.WebJob.EnrolmentProcessor.exe' with script host - 'WindowsScriptHost'
    [04/15/2016 22:15:01 > 1e4ce4: SYS INFO] Status changed to Running
    [04/15/2016 22:18:51 > 1e4ce4: SYS INFO] Status changed to Success
    
    有一个名为triggeredJob.lock的文件,该文件在发生故障时具有以下堆栈跟踪:

    2016-04-15T22:20:02   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
       at System.Environment.get_StackTrace()
       at Kudu.Core.Infrastructure.LockFile.WriteLockInfo(Stream lockStream)
       at Kudu.Core.Infrastructure.LockFile.Lock()
       at Kudu.Core.Jobs.TriggeredJobRunner.StartJobRun(TriggeredJob triggeredJob, JobSettings jobSettings, String trigger, Action`2 reportAction)
       at Kudu.Core.Jobs.TriggeredJobsManager.InvokeTriggeredJob(String jobName, String arguments, String trigger)
       at Kudu.Services.Jobs.JobsController.InvokeTriggeredJob(String jobName, String arguments)
       at lambda_method(Closure , Object , Object[] )
       at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)
       at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)
       at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
       at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
       at System.Web.Http.Controllers.ApiControllerActionInvoker.InvokeActionAsyncCore(HttpActionContext actionContext, CancellationToken cancellationToken)
       at System.Web.Http.Controllers.ApiControllerActionInvoker.InvokeActionAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
       at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>b__0(ActionInvoker innerInvoker)
       at System.Web.Http.Controllers.ActionFilterResult.<>c__DisplayClass10`1.<InvokeActionWithActionFilters>b__f()
       at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
       at System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func`1 continuation)
       at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
       at System.Web.Http.Filters.ActionFilterAttribute.ExecuteActionFilterAsyncCore(HttpActionContext actionContext, CancellationToken cancellationToken, Func`1 continuation)
       at System.Web.Http.Filters.ActionFilterAttribute.System.Web.Http.Filters.IActionFilter.ExecuteActionFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func`1 continuation)
       at System.Web.Http.Controllers.ActionFilterResult.<>c__DisplayClassb.<>c__DisplayClassd.<InvokeActionWithActionFilters>b__9()
       at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
       at System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func`1 continuation)
       at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
       at System.Web.Http.Filters.ActionFilterAttribute.ExecuteActionFilterAsyncCore(HttpActionContext actionContext, CancellationToken cancellationToken, Func`1 continuation)
       at System.Web.Http.Filters.ActionFilterAttribute.System.Web.Http.Filters.IActionFilter.ExecuteActionFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func`1 continuation)
       at System.Web.Http.Controllers.ActionFilterResult.<>c__DisplayClassb.<>c__DisplayClassd.<InvokeActionWithActionFilters>b__9()
       at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
       at System.Web.Http.Controllers.ActionFilterResult.ExecuteAsync(CancellationToken cancellationToken)
       at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__0.MoveNext()
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
       at System.Web.Http.Controllers.ExceptionFilterResult.ExecuteAsync(CancellationToken cancellationToken)
       at System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken)
       at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
       at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
       at System.Net.Http.HttpMessageInvoker.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
       at System.Web.Http.Dispatcher.HttpRoutingDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
       at System.Net.Http.DelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
       at System.Web.Http.HttpServer.<SendAsync>d__0.MoveNext()
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
       at System.Web.Http.HttpServer.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
       at System.Net.Http.HttpMessageInvoker.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
       at System.Web.Http.WebHost.HttpControllerHandler.<ProcessRequestAsyncCore>d__0.MoveNext()
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine](TStateMachine& stateMachine)
       at System.Web.Http.WebHost.HttpControllerHandler.ProcessRequestAsyncCore(HttpContextBase contextBase)
       at System.Web.Http.WebHost.HttpControllerHandler.ProcessRequestAsync(HttpContext context)
       at System.Web.HttpTaskAsyncHandler.<>c__DisplayClass4_0.<System.Web.IHttpAsyncHandler.BeginProcessRequest>b__0()
       at System.Web.TaskAsyncHelper.BeginTask(Func`1 taskFunc, AsyncCallback callback, Object state)
       at System.Web.HttpTaskAsyncHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
       at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
       at System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)
       at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)
       at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)
       at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
       at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
       at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus)
       at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
       at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
    
    2016-04-15T22:20:02在System.Environment.GetStackTrace(例外e,布尔needFileInfo)
    在System.Environment.get_StackTrace()中
    位于Kudu.Core.Infrastructure.LockFile.WriteLockInfo(流锁流)
    在Kudu.Core.Infrastructure.LockFile.Lock()中
    在Kudu.Core.Jobs.TriggeredJobRunner.StartJobRun(TriggeredJob TriggeredJob,JobSettings JobSettings,String trigger,Action`2 reportAction)
    在Kudu.Core.Jobs.TriggeredJobsManager.InvokeTriggeredJob(字符串jobName、字符串参数、字符串触发器)
    在Kudu.Services.Jobs.JobsController.InvokeTriggeredJob(字符串jobName,字符串参数)
    在lambda_方法(闭包、对象、对象[])
    在System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.c\u DisplayClass10.b\u 9(对象实例,对象[]方法参数)
    位于System.Web.Http.Controller.ReflectedHttpActionDescriptor.ActionExecutor.Execute(对象实例,对象[]参数)
    位于System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext,IDictionary`2参数,CancellationToken CancellationToken)
    在System.Web.Http.Controllers.ApiControllerActionInvoker.d_u0.MoveNext()中
    在System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.启动[TStateMachine](TStateMachine&stateMachine)
    位于System.Web.Http.Controller.ApiControllerActionInvoker.InvokeActionAsyncCore(HttpActionContext actionContext,CancellationToken CancellationToken)
    位于System.Web.Http.Controller.ApiControllerActionInvoker.InvokeActionAsync(HttpActionContext actionContext,CancellationToken CancellationToken)
    在System.Web.Http.Controllers.ActionFilterResult.b_u0(ActionInvoker innerInvoker)
    在System.Web.Http.Controllers.ActionFilterResult.c__DisplayClass10`1.b__f()中
    在System.Web.Http.Filters.ActionFilterAttribute.d_u5.MoveNext()中
    在System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.启动[TStateMachine](TStateMachine&stateMachine)
    位于System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext,CancellationToken CancellationToken,Func`1 continuation)
    在System.Web.Http.Filters.ActionFilterAttribute.d_u0.MoveNext()中
    在System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.启动[TStateMachine](TStateMachine&stateMachine)
    位于System.Web.Http.Filters.ActionFilterAttribute.ExecuteActionFilterAsyncCore(HttpActionContext actionContext,CancellationToken CancellationToken,Func`1 continuation)
    位于System.Web.Http.Filters.ActionFilterAttribute.System.Web.Http.Filters.IActionFilter.ExecuteActionFilterAsync(HttpActionContext actionContext,CancellationToken CancellationToken,Func`1 continuation)
    在System.Web.Http.Controllers.ActionFilterResult.c__DisplayClassb.c__DisplayClassd.b__9()中
    在System.Web.Http.Filters.ActionFilterAttribute.d_u5.MoveNext()中
    在System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.启动[TStateMachine](TStateMachine&stateMachine)
    位于System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext,CancellationToken CancellationToken,Func`1 continuation)
    在System.Web.Http.Filters.ActionFilterAttribute.d_u0.MoveNext()中
    在System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.启动[TStateMachine](TStateMachine&stateMachine)
    位于System.Web.Http.Filters.ActionFilterAttribute.ExecuteActionFilterAsyncCore(HttpActionContext actionContext,CancellationToken CancellationToken,Func`1 continuation)
    位于System.Web.Http.Filters.ActionFilterAttribute.System.Web.Http.Filters.IActionFilter.ExecuteActionFilterAsync(HttpActionContext actionContext,CancellationToken CancellationToken,Func`1 continuation)
    在System.Web.Http.Controllers.ActionFilterResult.c__DisplayClassb.c__DisplayClassd.b__9()中
    在System.Web.Http.Controllers.ActionFilterResult.d_u2.MoveNext()中
    在System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.启动[TStateMachine](TStateMachine&stateMachine)
    位于System.Web.Http.Controller.ActionFilterResult.ExecuteAsync(CancellationToken CancellationToken)
    在System.Web.Http.Controllers.ExceptionFilterResult.d_u0.MoveNext()中
    在System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.启动[TStateMachine](TStateMachine&stateMachine)
    位于System.Web.Http.Controller.ExceptionFilterResult.ExecuteAsync(CancellationToken CancellationToken)
    位于System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext controllerContext,CancellationToken CancellationToken)
    在System.Web.Http.Dispatcher.HttpControllerDispatcher.d_u1.MoveNext()中
    在System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.启动[TStateMachine](TStateMachine&stateMachine)
    位于System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(HttpRequestMessage请求,CancellationToken CancellationToken)
    位于System.Net.Http.HttpMessageInvoker.Se