C# Quartz.net双执行-umbraco
我有以下代码:C# Quartz.net双执行-umbraco,c#,.net,umbraco,quartz.net,C#,.net,Umbraco,Quartz.net,我有以下代码: public class JobScheduler { public static void Start() { IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler(); scheduler.Start(); //JOB - Automatically renew member subscriptions IJobDetail
public class JobScheduler
{
public static void Start()
{
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
scheduler.Start();
//JOB - Automatically renew member subscriptions
IJobDetail subscriptionsJob = JobBuilder.Create<UpdateSubscriptions>().Build();
ITrigger subscriptionsTrigger = TriggerBuilder.Create()
.WithIdentity("updateSubscriptions", "updateGroup")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInHours(24)
.RepeatForever()
)
.Build();
scheduler.ScheduleJob(subscriptionsJob, subscriptionsTrigger);
}
}
更新日志
因此,我签出了我的日志,果然有两个工作线程正在处理该文件:
P19484/D2/TDefaultQuartzScheduler_Worker-3
P166696/D2/TDefaultQuartzScheduler_Worker-1
你在哪里启动Quartz?在我的代码中,我在Start()之后使用Wait():u scheduler.Start().Wait();另外,我正在使用CheckExists和DeleteJob删除作业(确保作业只注册一次)@Jerome2606我正在从RegisterEvents:applicationeventhandler启动它。如果您在作业中放置了try-catch块,如果发生错误,作业将重复。如果作业引发异常,Quartz通常会立即重新执行,因为他们更新了我的问题
P19484/D2/TDefaultQuartzScheduler_Worker-3
P166696/D2/TDefaultQuartzScheduler_Worker-1