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

  • 相关阅读:
    spring之为java.util.Properties类型的属性进行赋值
    spring之为级联集合属性进行赋值
    spring之级联属性赋值的两种方式
    打造最佳开发团队的几点建议
    软件开发中的11个系统思维定律
    走向“持续部署”
    关于“兴趣爱好”之我见
    技术人员应真正学会的第二课程
    Java语言的动态性支持
    Java深度历险(九)——Java安全
  • 原文地址:https://www.cnblogs.com/94cool/p/6201595.html
Copyright © 2011-2022 走看看