使用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();

基本使用

转载于:https://www.cnblogs.com/lixipeng/p/7520013.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值