我已经将Quartz.net服务器设置为windows服务。我有一个使用它成功安排的工作。但这项工作每分钟都在运行。我想在每天上午11:00和晚上11:00安排工作。
但我不知道该怎么做。我有一个Quartz.Server.Config和一个jobs_xml文件。
请建议我设置此配置的位置以及相同的Cron表达式。
答案 0 :(得分:1)
您可以通过两种方式配置作业的日程安排。一种是通过您的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);