配置:
<quartz>
<add key="quartz.scheduler.instanceName" value="ChengongDemo" />
<add key="quartz.scheduler.instanceId" value="AUTO" />
<!--线程池-->
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="5" />
<add key="quartz.threadPool.threadPriority" value="Normal" />
<add key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" />
<add key="quartz.jobStore.tablePrefix" value="QRTZ_" />
<add key="quartz.jobStore.driverDelegateType" value="Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz" />
<add key="quartz.jobStore.dataSource" value="myDb" />
<add key="quartz.dataSource.myDb.connectionString" value="Data Source=192.168.15.23;Initial Catalog=Quartz;User ID=sa;Password=123456789" />
<add key="quartz.dataSource.myDb.provider" value="SqlServer-20" />
<!-- 集群-->
<add key="quartz.jobStore.Clustered" value="true" />
<add key="quartz.jobStore.clusterCheckinInterval" value="600" />
</quartz>
编码:
public static void Run()
{
ISchedulerFactory sf = new StdSchedulerFactory();
Sched = sf.GetScheduler();
var jobDetail = new JobKey("job1", "group1");
var triggerKey = new TriggerKey("trigger1", "group1");
if (!Sched.CheckExists(jobDetail) && !Sched.CheckExists(jobDetail))
{
var job = JobBuilder.Creaenter code herete<TestJob>()
.WithIdentity(jobDetail)
.Build();
var trigger = TriggerBuilder.Create()
.WithIdentity(triggerKey)
.ForJob(job.Key)
.WithCronSchedule("*/2 * * ? * *")
.Build();
Sched.ScheduleJob(job, trigger);
}
Sched.Start();
}
结果: 在此处输入图像描述
服务正常运行。我关机了几秒钟,然后我重新开始。作业同时运行了好几次。
为什么?有人可以帮助我吗?谢谢你的帮助。