第一步:创建一个windows服务
第二步:通过NuGet 安装Quartz (我搜索了Quartz 关键字 安装了 )
第三步 代码部分
任务类 如 多个任务 就多几个类
public class OpenJob : IJob //必须继承IJob接口并实现Execute方法
{
public void Execute(IJobExecutionContext context)
{
// Dictionary<string, string> dic = (Dictionary<string, string>)context.JobDetail.JobDataMap.Get("args");//获取参数
// 开始做自己的东西
}
}
使用方法 public partial class Service1 : ServiceBase
{
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();//获取调度器
// 表示星期日。
// Sunday = 0,
//
// 摘要:
// 表示星期一。
// Monday = 1,
//
// 摘要:
// 表示星期二。
// Tuesday = 2,
//
// 摘要:
// 表示星期三。
// Wednesday = 3,
//
// 摘要:
// 表示星期四。
Thursday = ,
//
// 摘要:
// 表示星期五。
// Friday = 5,
//
// 摘要:
// 表示星期六。
// Saturday = 6 int dayOfWeek=; int hour=; int minute=; string triggerName ="xx" ; string triggerGroupName="xxxx"; protected override void OnStart(string[] args)
{ Dictionary<string, string> args = new Dictionary<string, string>();//定义任务的字典型参数 供任务使用 var job =new OpenJob(); IJobDetail open_job = JobBuilder.Create(job .GetType()).WithIdentity(jobName, jobGroupName).Build(); open_job.JobDataMap.Put("args", args);//添加参数 给任务 ITrigger open_trigger = TriggerBuilder.Create().WithSchedule(CronScheduleBuilder.WeeklyOnDayAndHourAndMinute((DayOfWeek)dayOfWeek, hour, minute)).WithIdentity(triggerName, triggerGroupName).Build();
scheduler.ScheduleJob(open_job, open_trigger);
}}
这样就定义了一个 每周日凌晨1点0分 执行一次的 一个任务
关闭调度器方法
scheduler.Shutdown();
基本使用