C#定时任务的偷懒实现
通常会有些定时任务的工作,例如每分钟统计一下xxx用户的xxx数量 或者 定时拉取下数据 之类的任务。
通常要实现定时调度功能和控制线程是否可以并发执行。
所以通常一个简单的小项目搞成大项目,但是使用FluentScheduler就会 好得多
项目链接 https://github.com/fluentscheduler/FluentScheduler
例如我需要一个任务 每秒跑一次 如果这次没跑完 下次不执行:
public static void Main(string[] args) { //Console.WriteLine("Hello World!"); JobManager.AddJob(() => new TestService().xxxx(), (s) => s.NonReentrant().ToRunEvery(1).Seconds()); Console.ReadLine(); }
亦或者 我需要一个任务 每天9点跑一次
public static void Main(string[] args) { //Console.WriteLine("Hello World!"); JobManager.AddJob(() => new TestService().xxxx(), (s) => s.NonReentrant().ToRunEvery(1).Days().At(9,0)); Console.ReadLine(); }