C# 使用 quartz.net 做定时任务

白昼怎懂夜的黑 提交于 2019-11-28 05:56:59

Quartz.NET  是一套很好的任务调度框架。在设置定时时间的时候,使用了cron表达式很方便

简单代码

 public async Task beginStart()
        {
            //从工厂中获取一个调度器实例化
            IScheduler scheduler = await StdSchedulerFactory.GetDefaultScheduler();
            await scheduler.Start();       //开启调度器

            //==========例子1(简单使用)===========
            var type = Type.GetType("ConsoleTopshelf.HelloJob");

            IJobDetail job1 = JobBuilder.Create(type)   //创建一个作业
                .WithIdentity("作业名称", "作业组")
                .Build();

            ITrigger trigger = TriggerBuilder.Create()
                .WithIdentity("触发器名称", "触发器组")
                .StartNow()
                .WithCronSchedule("/1 * * * * ? ")  //corn 表达式 每秒执行一次
                .Build();

            await scheduler.ScheduleJob(job1, trigger);      //把作业,触发器加入调度器。
        }

 

using Quartz;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleTopshelf
{
    /// <summary>
    /// 作业
    /// </summary>
    public class HelloJob : IJob
    {
        public async Task Execute(IJobExecutionContext context)
        {
            Console.WriteLine("HelloJob" + System.DateTime.Now);
        }
    }
}

 

corn表达式在线生成 http://cron.qqe2.com/

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!