使用Quartz Job 簡單的做一個定時服務
阿新 • • 發佈:2017-10-17
windows shutdown ted cte pre nuget override ida args
第一步:創建一個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 = 4, // // 摘要:// 表示星期五。 // Friday = 5, // // 摘要: // 表示星期六。 // Saturday = 6 int dayOfWeek=0; int hour=1; int minute=0; 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();
基本使用
使用Quartz Job 簡單的做一個定時服務