码迷,mamicode.com
首页 > 其他好文 > 详细

使用Quartz Job 简单的做一个定时服务

时间:2017-10-17 15:19:45      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:ring   tuesday   int   获取   继承   sch   data   ted   执行   

第一步:创建一个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 简单的做一个定时服务

标签:ring   tuesday   int   获取   继承   sch   data   ted   执行   

原文地址:http://www.cnblogs.com/lixipeng/p/7520013.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!