quartz.config配置文件
#调度器名,无关紧要,名字任意定
quartz.scheduler.instanceName = ServerScheduler
org.quartz.scheduler.instanceId = AUTO
quartz.jobStore.type = Quartz.Simpl.RAMJobStore, Quartz
# configure thread pool info 配置数据库连接池
quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool,Quartz
quartz.threadPool.threadCount = 10
quartz.threadPool.threadPriority = Normal
# job initialization plugin handles our xml reading, without it defaults are used
quartz.plugin.xml.type = Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz
quartz.plugin.xml.fileNames = ~/quartz_jobs.xml
# export this server to remoting context
# quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter,Quartz
# quartz.scheduler.exporter.port = 555
# quartz.scheduler.exporter.bindName = QuartzScheduler
# quartz.scheduler.exporter.channelType = tcp
# quartz.scheduler.exporter.channelName = httpQuartz
quartz_jobs.xml文件
<?xml version="1.0" encoding="utf-8" ?>
<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">
<processing-directives>
<overwrite-existing-data>true</overwrite-existing-data>
</processing-directives>
<schedule>
<job>
<name>sampleJob</name>
<group>sampleGroup</group>
<description>获取订单汇总服务</description>
<job-type>AllOrdersService.GetOrdersJob, AllOrdersService</job-type>
<durable>true</durable>
<recover>false</recover>
</job>
<trigger>
<cron>
<name>between7and10_Trigger</name>
<group>sampleJobTriggerGroup</group>
<description>获取订单汇总服务触发器</description>
<job-name>sampleJob</job-name>
<job-group>sampleGroup</job-group>
<cron-expression>0 0/30 7-10 * * ?</cron-expression>
</cron>
</trigger>
<trigger>
<cron>
<name>between11and23_Trigger</name>
<group>sampleJobTriggerGroup</group>
<description>获取订单汇总服务触发器2</description>
<job-name>sampleJob</job-name>
<job-group>sampleGroup</job-group>
<cron-expression>0 0/30 11-23 * * ?</cron-expression>
</cron>
</trigger>
</schedule>
</job-scheduling-data>
GetOrdersJob.cs作业
public class GetOrdersJob : IJob
{
#region IJob 成员
public void Execute(IJobExecutionContext context)
{
}
#endregion
}
Windows服务主程序GetDataService.cs:
public partial class GetDataService : ServiceBase
{
private readonly ILog logger;
private IScheduler scheduler;
public GetDataService()
{
InitializeComponent();
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
}
protected override void OnStart(string[] args)
{
scheduler.Start();
}
protected override void OnStop()
{
scheduler.Shutdown(false);
}
protected override void OnPause()
{
scheduler.PauseAll();
}
protected override void OnContinue()
{
scheduler.ResumeAll();
}
}