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));

  • 相关阅读:
    C#下实现ping功能
    Telnet Chat Daemon
    ADO.NET连接池
    很好使的MAIL CLASS
    实例看多态
    完整的TCP通信包实现
    使用C#进行点对点通讯和文件传输(通讯基类部分)(转)
    特洛伊木马服务器源代码(C#)
    [C#] 如何选择一个目录
    如何使用C#压缩文件及注意的问题!
  • 原文地址:https://www.cnblogs.com/94cool/p/6201595.html
Copyright © 2011-2022 走看看