我已经将Quartz.net服务器设置为windows服务。我有一个使用此成功安排的作业。但这份工作每分钟都在运行。我想把工作安排在每天上午11点和晚上11点。
但我不知道怎么做。我有一个Quartz.Server.Config和一个jobsxml文件。
请建议我在哪里设置此配置,以及相同的Cron表达式是什么。
您可以通过两种方式配置作业的时间表。一个是通过你的jobs_xml文件,你需要在其中添加触发信息:
<job>
<name>jobName</name>
<group>simpleGroup</group>
<!-- other settings -->
</job>
<trigger>
<simple>
<name>triggerName</name>
<group>simpleGroup</group>
<description>SimpleTriggerDescription</description>
<job-name>jobName</job-name>
<job-group>jobGroup</job-group>
<misfire-instruction>SmartPolicy</misfire-instruction>
<cron-expression>0 0 11,23 * * ?</cron-expression> <!-- fire every day at 11:00 and 23:00 -->
</simple>
</trigger>
或者通过调度程序编程:
IJobDetail job = JobBuilder.Create(this.GetType())
.WithIdentity("JobName")
.Build();
ITrigger strigger = TriggerBuilder.Create()
.WithIdentity("trigger7", "group1")
.StartAt(DateBuilder.DateOf(11, 0, 0))
.WithSimpleSchedule(x => x
.WithIntervalInHours(12)
.RepeatForever())
.Build();
scheduler.ScheduleJob(detail, trigger);