.NET Core C#系列之XiaoFeng.Threading.JobScheduler作业调度( 二 )

2.间隔执行
var job = new XiaoFeng.Threading.Job{Async = true,Name = "作业名称",TimerType = XiaoFeng.Threading.TimerType.Interval,Period = 5000,StartTime = DateTime.Now.AddMinutes(5),SuccessCallBack = job =>{/*到时间执行任务*/}};job.Start();当前作业为,5分钟后运行,然后每隔5分钟会再执行一次间隔执行就是每隔一段时间去执行一次任务,也可以用任务去实现当前功能,如下:
  var cancelToken = new CancellationTokenSource();Task.Factory.StartNew(() =>{while (!cancelToken.IsCancellationRequested){/*等待5分钟*/Task.Delay(5 * 60 * 1000).Wait();/*执行作业任务*/}},TaskCreationOptions.LongRunning);上边代码同样实现了每间隔5分钟执行一次作业任务
如果想取消当前任务直接调用 cancelToken.Cancel(); 这样就可以取消当前任务了 。
3.每天定时执行一次
var job = new XiaoFeng.Threading.Job{Async = true,Name = "作业名称",TimerType = XiaoFeng.Threading.TimerType.Day,Time = new XiaoFeng.Threading.Time(2, 0, 0),StartTime = DateTime.Now.AddMinutes(5),SuccessCallBack = job =>{/*到时间执行任务*/}};当前作业为,5分钟后运行,然后每天2点执行一次
4.每周几几点执行,每月几号几点执行
var job = new XiaoFeng.Threading.Job{Async = true,Name = "作业名称",TimerType = XiaoFeng.Threading.TimerType.Week,DayOrWeekOrHour = new int[] { 1, 4 },Time = new XiaoFeng.Threading.Time(2, 0, 0),StartTime = DateTime.Now.AddMinutes(5),SuccessCallBack = job =>{/*到时间执行任务*/}};job.Start();当前作业为,5分钟后运行,然后每周的周一,四的2点执行一 次 。
以上就是作业调度的简单使用 。
开源地址:https://github.com/zhuovi/XiaoFeng/tree/master/Threading
语雀地址:https://www.yuque.com/fayelf/xiaofeng/yl8tkh
开源不易,多多支持~

经验总结扩展阅读