Azure webjob with runMode" OnDemand"继续跑步

时间:2018-02-21 15:09:51

标签: azure-webjobs

azure webjob,runmode设置为" onDemand"继续运行,我无法阻止它。

我没有看到任何需要处理但工作的事情。

{
  "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
  "webJobName": "ScheduledJob",
  "runMode": "OnDemand"
}


ScheduledJob  Triggered Running n/a 

重新启动的唯一方法是重新启动Web服务。然后手动启动作业。然后它继续运行。它不会停止。

这个webjob发生了什么?

UPDATE1:

我正在使用Pnp Partner包中的代码,可以找到here

由于代码很长,我只是在program.cs文件中提供代码。 其余的请看看我​​在上面发布的内容。

 static void Main()
        {
            var job = new PnPPartnerPackProvisioningJob();
            job.UseThreading = false;

            job.AddSite(PnPPartnerPackSettings.InfrastructureSiteUrl);

            job.UseAzureADAppOnlyAuthentication(
                PnPPartnerPackSettings.ClientId,
                PnPPartnerPackSettings.Tenant,
                PnPPartnerPackSettings.AppOnlyCertificate);

            job.Run();

#if DEBUG
            Console.ReadLine();
#endif
        }

enter image description here

1 个答案:

答案 0 :(得分:1)

在您的代码中,PnPPartnerPackProvisioningJob类继承自 TimerJob 类。 在TimerJob类中,没有stop方法。如果计时器作业已开始执行,除非重新启动Web作业,否则无法真正停止它。有关详细信息,请参阅此article

  

因此,如果您要求取消作业,则需要删除计时器作业定义。但是,如果计时器作业已开始执行,除非重置IIS或停止Sharepoint Windows计时器服务,否则无法真正停止它。