zoukankan      html  css  js  c++  java
  • 使用Quartz Job 简单的做一个定时服务

    第一步:创建一个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();
    

    基本使用

  • 相关阅读:
    什么是32位汇编的flat平坦内存模式
    oracle随机操作
    网线8根排列顺序
    vb创建NT服务
    函数声明后面加个stdcall是什么意思
    一些基础问题。
    ArcGIS Server中地图打印的实现
    添加BaseCommand 和Base Tool 的注意事项
    获取字符串中的某个子字符串
    AE, C#,按纸张打印地图
  • 原文地址:https://www.cnblogs.com/lixipeng/p/7520013.html
Copyright © 2011-2022 走看看