这篇文章将为大家详细讲解有关在dotnet核心如何实现类似crontab的定时任务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
,,,首先通过Nuget安装
<代码> PM>安装包。Cron 代码>
配置启动
public class 启动 { public 才能启动(IConfiguration 配置) {才能 ,,,Configuration =,配置; ,,} public 才能IConfiguration Configuration {,得到;} public 才能;void  ConfigureServices (IServiceCollection 服务) {才能 ,,,services.AddMvc () .SetCompatibilityVersion (CompatibilityVersion.Version_2_2); ,,,services.AddCrontabJob (); ,,} public 才能;void 配置(IApplicationBuilder 应用,IHostingEnvironment env) {才能 ,,,app.UseCrontabJob (); ,,,app.UseMvc (); ,,} }
编写crontab方法
[CrontabJob] public class  CrontabObject { [CrontabSchedule才能(“crontab1",,, *, *, *, *, *,)) public 才能;void  DoSomeThing () {才能 ,,,//Todo ,,} }
即可完成每分钟调用一次的定时任务
光。Cron完全兼容Linux Crontab时间格式
* * * * *
分时日月周第1列表示分钟0 ~ 59
第2列表示小时0 ~ 23日
第3列表示日期1 ~ 31日
第4列表示月份1 ~ 12
第5列标识号星期0 ~ 7(0 7和表示星期天)
每天10点至16点
0 10到16 * * *每隔两个小时
引用>
0 */2 * * *并在此基础上对一直一来对Crontab使用的一些痛点进行了功能增强
<强>跨时间段强>
当时间段格式出现结束时间小于开始时间,则代表由开始时间到下一级时间的开始时间,如
引用>
每月1号22点到2号4点之间的时间段
* 22-4 1 * *
每周一至周五晚22点上到次日4点之间的时间段,里面包含周六的0点4点,不包含周一的0点4点
* 22-4 * * 1 - 5<强>月末日期强>
日期格式中增加新增e标记作为月末最后一天,并且可以通过e +数字代表最后一天再往前倒数天数,如当月共31天,则e=31日e1=30, e2=29, e3=28。当月共30天,则e=30, e1=29, e3 e2=28日=27。该语法同样支持范围
引用>
0 0 e3-e1 * *<强>时间范围强>
光。Cron可以通过新语法HH: mm-HH: mm将时分结合,替换原有的时分设置,如
每日9点30分至15点0分,每隔一分钟执行一次
09:30-15:00 * * *
每日21点30分至次日的5点30分,每隔5分钟执行一次
21:30-05:30/5 * * *
引用><强>多组调度计划强>
光。Cron可以通过|符号支持多组调度计划,如
0点至11点,每分钟执行一次,12点至23点,每5分钟执行一次
引用>
*划分于* * * | */5 12日至23日* * *<强>简略写法强>
如下一级及其以之后的时间范围都是*,可以简略不写,如
*, *, *, *, *=, * 30,9,*,*,*,=30,9 09:30-15:00 *, *, *,=09:30-15:00 0,0,1,*,*,=,0,0,1 0,0,1,2-5 *,=, 0, 0, 1, 2 - 5关于“在dotnet核心如何实现类似crontab的定时任务”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。
在dotnet核心如何实现类似crontab的定时任务