zoukankan      html  css  js  c++  java
  • C#/ASP.NET定时任务执行管理器组件–FluentScheduler定时器

    必须JobManager初始化

    方式1:

    public void Start()
            {
                JobManager.AddJob(() => FetchingData(), schedule =>
                {
                    schedule.ToRunEvery(1).Days().At(10, 8);
                });
            }

     

    方式2:继承Registry

    public class WebSchedule : Registry
        {
            ILogger<WebSchedule> log;       
            /// <summary>
            ///
            /// </summary>
            public WebSchedule(ILoggerFactory loggerFactory)
            {
                log = loggerFactory.CreateLogger<WebSchedule>();

                //立即执行,之后每2秒执行
                Schedule(() => log.LogTrace("每分钟执行:" + DateTime.Now)).ToRunNow().AndEvery(1).Minutes();

                Schedule(() => log.LogTrace("每天执行:" + DateTime.Now)).ToRunNow().AndEvery(1).Days();

                //5秒后执行一次
                Schedule(() => log.LogTrace("执行一次:" + DateTime.Now)).ToRunOnceIn(5).Seconds();

                Schedule(() => log.LogTrace("每天21:15执行:" + DateTime.Now))
                    .ToRunEvery(1).Days().At(13, 55);

                //立即执行,之后每月的第一个星期一3点再执行
                Schedule(() =>
                {
                    log.LogTrace("job started at " + DateTime.Now);
                    Thread.Sleep(10000);
                    log.LogTrace("job ended at" + DateTime.Now);
                }).ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0);

                //多任务
                //Schedule<MyJob>().AndThen<MyOtherJob>().ToRunNow();
            }
        }

    调用:JobManager.Initialize(new WebSchedule(loggerFactory));

  • 相关阅读:
    [Docker]一键部署gitlab中文版
    [Docker]python 2.7.5 docker-compose安装
    [CentOS7]pip安装
    快速傅里叶变换FFT
    HDU 4734 f(x)
    DP
    HDU 3555 Bomb
    HDU 5898 odd-even number
    将文本拷贝到剪贴板
    数论分块
  • 原文地址:https://www.cnblogs.com/94cool/p/6201595.html
Copyright © 2011-2022 走看看