FluentScheduler是一个C#的灵活的任务调度组件,支持各类任务调度。网上有很多演示代码,此处记录下来,方便自己查找。
// See https://aka.ms/new-console-template for more information
//Console.WriteLine("Hello, World!");
using FluentScheduler;
//FluentScheduler 中 对象: IJob(工作)、Registry(注册)、Schedule(计划)
start();
void start()
{ 
    JobManager.Initialize(new MyRegistry());
    //JobManager.AddJob(t => t.ToRunEvery(1).Days().At(24, 00));//每天的凌晨12点 执行 
    //JobManager.AddJob(t => t.ToRunEvery(1).Months().OnTheLastDay().At(8, 30));//每个月的最后一天早上八点半 执行
    JobManager.Start();//启动任务管理器
}
while(true)
    Thread.Sleep(1000);
/// <summary>
///  工作类
/// </summary>
public class MyJob : IJob
{
    public void Execute()
    {
        //编写需要工作的内容
        //比如输出一句话
        Console.WriteLine($"执行工作,{DateTime.Now:HH:mm:ss.FFFF}!");
    }
}
/// <summary>
///  注册表
/// </summary>
public class MyRegistry : Registry
{
    //无参构造函数
    public MyRegistry()
    {
        //安排任务运行在一个区间
        //Schedule<MyJob>().ToRunNow().AndEvery(3).Seconds();
        Schedule(()=>
        {
            Console.WriteLine($"schedule:{DateTime.Now:HH:mm:ss.FFFF}");
        }).ToRunNow().AndEvery(2000).Milliseconds();
        // 安排任务运行一次,由一个特定的时间间隔延迟。
        Schedule<MyJob>().ToRunOnceIn(3).Seconds();
        //安排一个简单的任务在一个特定的时间运行
        //Schedule(() => Console.WriteLine("Timed Task - Will run every day at 9:15pm: " + DateTime.Now)).ToRunEvery(1).Days().At(21, 15);
        //安排一个更复杂的行动,立即运行和每月的时间间隔
        //Schedule(() =>
        //{
        //    Console.WriteLine("Complex Action Task Starts: " + DateTime.Now);
        //    Thread.Sleep(1000);
        //    Console.WriteLine("Complex Action Task Ends: " + DateTime.Now);
        //}).ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0);
        //计划多个任务在一个单一的日程安排中运行
        //Schedule<MyJob>().AndThen<MyOtherJob>().ToRunNow().AndEvery(5).Minutes();
    }
}运行效果:

从运行效果看,FluentScheduler也是有定时器累计偏差存在,并不是完全精确的时间间隔周期调度。
Github地址:GitHub - fluentscheduler/FluentScheduler: Automated job scheduler with fluent interface for the .NET platform.
文档地址:FluentScheduler
C#作业调度FluentScheduler学习笔记
FluentScheduler定时任务的基本使用
在线Cron表达式生成器



















![街机模拟游戏逆向工程(HACKROM)教程:[0]工具](https://img-blog.csdnimg.cn/direct/95d94f5229324ddfa99495fa80a0dca8.png)