作业调度FluentScheduler的使用

2 篇文章 0 订阅
2 篇文章 0 订阅

定时的作业调度工具很多以前用过是Quartz.NET这个,后面也用过FluentScheduler,个人绝对比较好用,所以记录下

老规矩 nuget下载 

 上代码,一看就懂

         static void Main(string[] args)
        {
              初始化,并执行
            JobManager.Initialize(new ApiJobFactory());

            //停止任务
            JobManager.Stop();
        }


 //注册类 继承 Registry (设置执行频率和要执行的job)
//注册一个任务调度
    public class ApiJobFactory : Registry
    {
        public ApiJobFactory()
        {
            // 立即执行每两秒一次的计划任务。(指定一个时间间隔运行,根据自己需求,可以是秒、分、时、天、月、年等。)
            //Schedule<GetJDhttpJob>().ToRunNow().AndEvery(2).Seconds();

             延迟一个指定时间间隔执行一次计划任务。(当然,这个间隔依然可以是秒、分、时、天、月、年等。)
            //Schedule<Demo>().ToRunOnceIn(5).Seconds();

             在一个指定时间执行计划任务(最常用。这里是在每天的下午 1:10 分执行)
            //Schedule(() => 

            //Trace.WriteLine("It's 1:10 PM now.")

            //).ToRunEvery(1).Days().At(13, 10);

            Schedule<GetJDhttpJob>().ToRunEvery(1).Days().At(16, 55);

             立即执行一个在每月的星期一 3:00 的计划任务(可以看出来这个一个比较复杂点的时间,它意思是它也能做到!)
            //Schedule<GetJDhttpJob>().ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0);

             在同一个计划中执行两个(多个)任务 AndThen
            //Schedule<Demo>().AndThen<Demo>().AndThen<Demo>().ToRunNow().AndEvery(5).Minutes();
        }
    }


    //显示任务执行,具体要做的事情
    internal class GetJDhttpJob : IJob
    { 
        void IJob.Execute()
        {
            string ss = "";
            try
            {
                //..........



                LogOpera.WriteLogFile(ss);
            }
            catch (Exception ex)
            {
                LogOpera.WriteLogFile(DateTime.Now + " 出现异常:" + ex.Message);
            }
        } 

    }

所以很简单,Registry类和IJob类 的继承类就可以去控制定时调度了!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值