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