1. 程式人生 > >使用Quartz Job 簡單的做一個定時服務

使用Quartz Job 簡單的做一個定時服務

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 簡單的做一個定時服務