博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
任务调度quartz
阅读量:4624 次
发布时间:2019-06-09

本文共 2858 字,大约阅读时间需要 9 分钟。

using Quartz;using Quartz.Impl;using System;using System.Collections.Generic;using System.Text;using System.Threading;using System.Threading.Tasks;namespace ConsoleApp10{    [DisallowConcurrentExecution()]    public abstract class JobBase : IJob    {        #region IJob 成员        public Task Execute(IJobExecutionContext context)        {            try            {                Console.ForegroundColor = ConsoleColor.Red;                Console.WriteLine(DateTime.Now.ToString() + "{0}这个Job开始执行", context.JobDetail.Key.Name);                ExcuteJob(context);                return Task.CompletedTask; ;            }            catch (Exception ex)            {                //LoggerFactory.CreateLog().Logger_Debug(this.GetType().Name + "error:" + ex.Message);                throw;            }        }        #endregion        ///         /// 执行计划,子类可以重写        ///         public virtual string Cron => "0/1 * * * * ?";        ///         /// Job具体类去实现自己的逻辑        ///         protected abstract void ExcuteJob(IJobExecutionContext context);    }}
using System;using System.Collections.Generic;using System.IO;using System.Text;using System.Threading;using Quartz;namespace ConsoleApp10{    class Job : JobBase    {        protected override void ExcuteJob(IJobExecutionContext context)        {            Console.WriteLine("执行"+DateTime.Now.ToString());        }    }}
using Quartz;using Quartz.Impl;using System;using System.Collections.Generic;using System.Text;namespace ConsoleApp10{    public class QuartzManager    {        public static Action
JoinToQuartz = (type) => { StdSchedulerFactory.GetDefaultScheduler().Result.Start(); var obj = Activator.CreateInstance(type); string cron = type.GetProperty("Cron").GetValue(obj).ToString(); var jobDetail = JobBuilder.Create(type) .WithIdentity(type.Name) .Build(); var jobTrigger = TriggerBuilder.Create() .WithIdentity(type.Name + "Trigger") .StartNow() .WithCronSchedule(cron) .Build(); StdSchedulerFactory.GetDefaultScheduler().Result.ScheduleJob(jobDetail, jobTrigger); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine($"新添加了一个服务{nameof(type)},通过心跳Job自动被加载!"); }; }}
using System;namespace ConsoleApp10{    class Program    {        static void Main(string[] args)        {                        QuartzManager.JoinToQuartz(typeof(Job));            Console.ReadLine();        }    }}

https://www.cnblogs.com/mushroom/p/4067037.html

http://cron.qqe2.com/

转载于:https://www.cnblogs.com/chenyishi/p/8417708.html

你可能感兴趣的文章
[NOI2015]软件包管理器
查看>>
uploadify上传大文件时出现404错误
查看>>
Java SE之正则表达式五:切割
查看>>
九、基础正则表达式BRE
查看>>
vue中使用自定义金额格式化组件,对金额进行千分位格式化
查看>>
STM32 printf函数
查看>>
linux vim ***
查看>>
BRVAH(让RecyclerView变得更高效)(1)
查看>>
78JS插件:原生版弹窗(面对对象)
查看>>
POJ-3580-SuperMemo(splay的各种操作)
查看>>
反射获取类结构信息
查看>>
每日软件进度报告—11月15日
查看>>
POJ 3928 Ping pong(树状数组基础题)
查看>>
ios之block笔记
查看>>
spring boot编译项目打jar包
查看>>
[导入]《玫瑰人生》【第80届奥斯卡获奖大片】【DVD中英字幕】【14:50发布】
查看>>
模仿实现主流网页
查看>>
webstorm的各种快捷键配置
查看>>
Spring Boot入门第一天:Hello, Spring Boot!
查看>>
使用Cocos2d-JS制作游戏新手引导(四)应用篇
查看>>