社交型网站首页面设计分析,宁夏电建网站,做网站专用素材,马边彝族移动网站建设FluentScheduler是一个C#的灵活的任务调度组件#xff0c;支持各类任务调度。网上有很多演示代码#xff0c;此处记录下来#xff0c;方便自己查找。
// See https://aka.ms/new-console-template for more information
//Console.WriteLine(Hello, World!);us…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(){//安排任务运行在一个区间//ScheduleMyJob().ToRunNow().AndEvery(3).Seconds();Schedule((){Console.WriteLine($schedule:{DateTime.Now:HH:mm:ss.FFFF});}).ToRunNow().AndEvery(2000).Milliseconds();// 安排任务运行一次由一个特定的时间间隔延迟。ScheduleMyJob().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);//计划多个任务在一个单一的日程安排中运行//ScheduleMyJob().AndThenMyOtherJob().ToRunNow().AndEvery(5).Minutes();}
}
运行效果 从运行效果看FluentScheduler也是有定时器累计偏差存在并不是完全精确的时间间隔周期调度。 Github地址GitHub - fluentscheduler/FluentScheduler: Automated job scheduler with fluent interface for the .NET platform.
文档地址FluentScheduler
C#作业调度FluentScheduler学习笔记
FluentScheduler定时任务的基本使用
在线Cron表达式生成器