700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Quartz.net 定时任务矿建Demo

Quartz.net 定时任务矿建Demo

时间:2023-03-07 05:29:46

相关推荐

Quartz.net 定时任务矿建Demo

1. 首先新建一个 window 控制台程序

2. 通过 nuget 的方式搜索并安装 Quartz 。 安装的时候回引入3个程序集 Quartz.dll 、Common.logging.dll 、 Common.logging.Core.dll 程序集

3. 穿件一个继承 IJob 的类,实现其中的 Excute() 方法,此方法中的内容就是制定时间内需要执行的任务。

/// <summary>/// 具体的任务/// </summary>public class SampJob : Quartz.IJob{/// <summary>/// 每次需要执行的任务/// </summary>/// <param name="context">执行任务上下文</param>public void Execute(Quartz.IJobExecutionContext context){Console.WriteLine(DateTime.Now.ToString("r") + "任务");}}

2. 在 program 程序中添加以下代码

class Program{static void Main(string[] args){// 1.0 创建一个作业调度池 -- 获取计划者ISchedulerFactory factory = new Quartz.Impl.StdSchedulerFactory();IScheduler scheduler = factory.GetScheduler();// 2.0 创建一个具体的作业IJobDetail job = JobBuilder.Create<SampJob>().Build();// 3.0 创建并配置一个触发器,每隔3秒钟执行一次,循环次数为 int 的最大值//ISimpleTrigger trigger = (ISimpleTrigger)TriggerBuilder.Create().WithSimpleSchedule(t => t.WithIntervalInSeconds(3).WithRepeatCount(int.MaxValue)).Build();// 3.1 创建并配置一个触发器, 引入 cron-like 表达式DateTimeOffset startTime = DateBuilder.NextGivenSecondDate(DateTime.Now.AddSeconds(1), 2); //NextGivenSecondDate:如果第一个参数为null则表名当前时间往后推迟2秒的时间点。DateTimeOffset endTime = DateBuilder.NextGivenSecondDate(DateTime.Now.AddYears(2), 3);// 创建并配置一个触发器ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create().StartAt(startTime).EndAt(endTime).WithCronSchedule("1,10,14 10,20,25,26,33,54 * * * ? ").Build();// 4.0 加入作业 调度池中 scheduler.ScheduleJob(job, trigger);// 5.0 开始运行 scheduler.Start();Console.ReadKey();}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。