定时任务 FluentScheduler

参考自:

https://www.codercto.com/a/53093.html

https://www.bianchengquan.com/article/599597.html

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FluentScheduler
{
    class Program
    {
        static void Main(string[] args)
        {
            JobManager.Initialize(new MyRegistry());
            Console.ReadLine();

        }

        public class MyRegistry : Registry
        {
            public MyRegistry()
            {
                //NonReentrant() 不允许并行处理
                // 启动时执行一次,然后每隔 10秒一次的计划任务。(指定一个时间间隔运行,根据自己需求,可以是秒、分、时、天、月、年等。)
                Schedule(() => Console.WriteLine(DateTime.Now.Millisecond)).NonReentrant().ToRunNow().AndEvery(1).Milliseconds(); 

                //启动时不执行,以启动时间为准,在每天的几点几分到几点几分之间,每隔interval参数的(秒,分钟,小时等)执行一次任务计划
                Schedule(() => Console.WriteLine(DateTime.Now)).NonReentrant().ToRunEvery(1).Minutes().Between(9,53, 11, 55);

                // 立即执行每10秒一次的计划任务。如果本次任务没有结束,下一次的任务则不会开始,禁止并行运行
                //Schedule(() => Console.WriteLine(DateTime.Now)).NonReentrant() .ToRunNow().AndEvery(10).Seconds(); 

                //在每天的21:15执行计划任务
                //Schedule(() => Console.WriteLine("It's 9:15 PM now.")) .ToRunEvery(1).Days().At(21, 15); 

                // 立即执行一个在每月的第一个星期一 3:00 的计划任务
                //Schedule(() => Console.WriteLine("It's 3:00 AM now.")) .ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0); 

                //在每周一的21:15执行计划任务
                //Schedule(() => Console.WriteLine("It's 9:15 PM now.")) .ToRunEvery(1).Weeks().On(DayOfWeek.Monday).At(21, 15); 

            } 

        }
    }
}

 

posted @ 2022-04-26 10:10  狼窝窝  阅读(173)  评论(0编辑  收藏  举报