麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > Linux Shell > 正文

詳解在dotnet core實現(xiàn)類似crontab的定時任務(wù)

2020-07-27 18:44:33
字體:
供稿:網(wǎng)友

 前段需要在業(yè)務(wù)中實現(xiàn)某些時間段的簡單定時任務(wù),類似crontab的調(diào)度,因為業(yè)務(wù)會放在docker中,所以不想用直接用crontab,在網(wǎng)上搜了一下,發(fā)現(xiàn)一個開源的實現(xiàn) Pomelo.AspNetCore.TimedJob,使用簡單,但是因為是時間間隔執(zhí)行,不太符合指定時間段要求,不過感謝有此開源代碼,我在其基礎(chǔ)上重新擼了個crontab的實現(xiàn),并增加了一些功能,代碼已放在Github上。

    源碼地址:https://github.com/aquilahkj/Light.Cron

    使用Demo:https://github.com/aquilahkj/Light.Cron/tree/master/sample/Light.Cron.Sample

    首先通過Nuget安裝

PM> Install-Package Light.Cron

  配置StartUp

public class Startup{  public Startup(IConfiguration configuration)  {    Configuration = configuration;  }  public IConfiguration Configuration { get; }  public void ConfigureServices(IServiceCollection services)  {    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);    services.AddCrontabJob();  }  public void Configure(IApplicationBuilder app, IHostingEnvironment env)  {    app.UseCrontabJob();    app.UseMvc();  }} 

  編寫crontab方法

[CrontabJob]public class CrontabObject{  [CrontabSchedule("crontab1", "* * * * *")]  public void DoSomeThing()  {    // Todo  }} 

  即可完成每分鐘調(diào)用一次的定時任務(wù)

Light.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 * * *

并在此基礎(chǔ)上對一直一來對crontab使用的一些痛點進行了功能增強

跨時間段

當時間段格式出現(xiàn)結(jié)束時間小于開始時間, 則代表由開始時間到下一級時間的開始時間, 如
每月1號22點到2號4點之間的時間段
* 22-4 1 * *
每周一至周五晚上22點到次日4點之間的時間段, 里面包含周六的0點-4點, 不包含周一的0點-4點
* 22-4 * * 1-5

月末日期

日期格式中增加新增e標記作為月末最后一天, 并且可以通過e+數(shù)字代表最后一天再往前倒數(shù)天數(shù), 如當月共31天, 則e=31, e1=30, e2=29, e3=28. 當月共30天, 則e=30, e1=29, e2=28, e3=27. 該語法同樣支持范圍
0 0 e3-e1 * *

時間范圍

Light.Cron可以通過新語法HH:mm-HH:mm將時分結(jié)合, 替換原有的時分設(shè)置, 如

每日9點30分至15點0分, 每隔一分鐘執(zhí)行一次

09:30-15:00 * * *

每日21點30分至次日的5點30分, 每隔5分鐘執(zhí)行一次

21:30-05:30/5 * * *

多組調(diào)度計劃

Light.Cron可以通過|符號支持多組調(diào)度計劃, 如

0點至11點, 每分鐘執(zhí)行一次, 12點至23點, 每5分鐘執(zhí)行一次
* 0-11 * * *|*/5 12-23 * * *

簡略寫法

如下一級及其以之后的時間范圍都是*, 可以簡略不寫, 如

* * * * * = *30 9 * * * = 30 909:30-15:00 * * * = 09:30-15:000 0 1 * * = 0 0 10 0 1 2-5 * = 0 0 1 2-5

總結(jié)

以上所述是小編給大家介紹的在dotnet core實現(xiàn)類似crontab的定時任務(wù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲成人激情av | 欧美一级淫片a免费播放口 91九色蝌蚪国产 | 午夜精品成人 | 精品一区二区6 | 99精品视频久久精品视频 | 乱淫67194| 国产精品视频导航 | 欧美日韩精品不卡一区二区三区 | 护士hd老师fre0性xxx | 国产欧美一区二区三区免费看 | 久草导航 | 涩涩99| 无码专区aaaaaa免费视频 | 极品一级片 | av成人免费在线观看 | 97porn| 成人做爰高潮片免费视频美国 | 成人免费国产 | 99亚洲伊人久久精品影院红桃 | 国产一区毛片 | 成人一级片毛片 | 国产一国产精品一级毛片 | 一级做a爱性色毛片免费1 | 国产亚洲福利 | 蜜桃视频观看麻豆 | 久久99亚洲精品 | 国产一精品久久99无吗一高潮 | 成人短视频在线播放 | 一级黄色毛片播放 | h视频免费在线观看 | 国产日韩一区二区三区在线观看 | 欧美激情图区 | 国产精品hd免费观看 | 欧美成人精品一区二区三区 | 一区二区三区欧美在线观看 | 最新黄色电影网站 | 国产亚洲精品久久久闺蜜 | 成人在线观看免费视频 | 亚洲精品久久久久久久久久久 | 亚洲第一页中文字幕 | 亚洲一区二区三区在线看 |