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
开源不易,多多支持~
经验总结扩展阅读
- 【番外篇】Rust环境搭建+基础开发入门+Rust与.NET6、C++的基础运算性能比较
- 华为nova9系列开售时间_华为nova9系列开售价格
- .NET周报【10月第2期 2022-10-17】
- flutter系列之:builder为构造器而生
- 聊一聊被 .NET程序员 遗忘的 COM 组件
- 28 《吐血整理》高级系列教程-吃透Fiddler抓包教程-Fiddler如何抓取Android7.0以上的Https包-下篇
- 细聊.Net Core中IServiceScope的工作方式
- 小米11系列参数对比_小米11系列哪个性价比高
- asp.net core web 解决方案多项目模板制作打包总结
- ubuntu-22.04 树莓派Zero 2 W通过.NET6和libusb操作USB读写