110,535
社区成员
发帖
与我相关
我的任务
分享
<?xml version="1.0" encoding="UTF-8"?>
<!-- This file contains job definitions in schema version 2.0 format -->
<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>
<!--定义示例任务1 Job-->
<job>
<name>Job1</name>
<group>JobGroup</group>
<description>Quartz示例任务1</description>
<job-type>QuartTest.TestJob,QuartzTest</job-type>
<durable>true</durable>
<recover>false</recover>
</job>
<trigger>
<simple>
<name>sampleSimpleTrigger</name>
<group>sampleSimpleGroup</group>
<description>Simple trigger to simply fire sample job</description>
<job-name>Job1</job-name>
<job-group>JobGroup</job-group>
<misfire-instruction>SmartPolicy</misfire-instruction>
<repeat-count>-1</repeat-count>
<repeat-interval>2000</repeat-interval>
</simple>
</trigger>
<!--定义示例任务2 Job-->
<job>
<name>DemoJob2</name>
<group>JobGroup2</group>
<description>Quartz示例任务2</description>
<job-type>QuartTest.Job2,QuartzTest</job-type>
<durable>true</durable>
<recover>false</recover>
</job>
<!--定义示例任务2 触发器 每5秒执行一次DemoJob2任务-->
<trigger>
<cron>
<name>Job2Trigger</name>
<group>JobTriggerGroup</group>
<job-name>DemoJob2</job-name>
<job-group>JobGroup2</job-group>
<cron-expression>0/5 * * * * ? </cron-expression>
</cron>
</trigger>
</schedule>
</job-scheduling-data>
public class TestJob:IJob
{
public void Execute(IJobExecutionContext context)
{
Console.WriteLine("任务调度1");
}
}
public class Job2:IJob
{
public void Execute(IJobExecutionContext context)
{
Console.WriteLine("任务调度2");
}
}
class Program
{
//IScheduler sched;
static void Main(string[] args)
{
//调度器构造工厂
ISchedulerFactory factory = new StdSchedulerFactory();
//第一步:构造调度器
IScheduler scheduler = factory.GetScheduler();
scheduler.Start();//启动调度器
while (!scheduler.IsStarted)
{
Console.WriteLine("Waiting for scheduler to start.");
Thread.Sleep(1000);
}
Console.WriteLine("IsStarted={0}", scheduler.IsStarted);
Console.WriteLine("SchedulerInstanceId={0}", scheduler.SchedulerInstanceId);
Console.WriteLine("SchedulerName={0}", scheduler.SchedulerName);
Console.WriteLine("The scheduler is running. Press any key to stop");
Console.ReadKey();
Console.WriteLine("Shutting down scheduler");
scheduler.Shutdown(false);
while (!scheduler.IsShutdown)
{
Console.WriteLine("Waiting for scheduler to shutdown.");
Thread.Sleep(1000);
}
Console.WriteLine("IsShutdown={0}", scheduler.IsShutdown);
Console.WriteLine("The scheduler has been shutdown.");
}
}
}