第一步:Install-Package Quartz
namespace ProjectEdb
{
class Program
{
static void Main(string[] args)
{
//例子1
//QuartzJob.CreateJob("test", "zkb", "0 */1 * * * ?").GetAwaiter().GetResult();
//例子2
RunProgram().GetAwaiter().GetResult(); }
}
}
      private static async Task RunProgram()
{
//int i = 0;
DateTime myStartTime = Convert.ToDateTime("2016-12-08");
try
{
// Grab the Scheduler instance from the Factory//https://blog.csdn.net/u011966339/article/details/80911091
NameValueCollection props = new NameValueCollection
{
{ "quartz.serializer.type", "binary" }
};
StdSchedulerFactory factory = new StdSchedulerFactory(props);
IScheduler scheduler = await factory.GetScheduler();//Scheduler:调度程序 // 启动任务调度器
await scheduler.Start(); // 定义一个 Job
IJobDetail job = JobBuilder.Create<EdbQuartz>()
.WithIdentity("job1", "group1")
.Build();
ISimpleTrigger trigger = (ISimpleTrigger)TriggerBuilder.Create()
.WithIdentity("trigger1") // 给任务一个名字
.StartAt(myStartTime) // 设置任务开始时间
.ForJob("job1", "group1") //给任务指定一个分组
.WithSimpleSchedule(x => x
.WithIntervalInSeconds() //循环的时间 以秒为单位
.RepeatForever())
.Build(); // 等待执行任务
await scheduler.ScheduleJob(job, trigger); // some sleep to show what's happening
//await Task.Delay(TimeSpan.FromMilliseconds(2000)); // and last shut down the scheduler when you are ready to close your program
//await scheduler.Shutdown();
//i++;
Console.ReadLine();//一定要加上
//Console.WriteLine(DateTime.Now.ToString() + "这是第" + i + "次执行任务");
}
catch (SchedulerException se)
{
await Console.Error.WriteLineAsync(se.ToString());
}
}
05-29 00:13