国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

詳解在dotnet core實現類似crontab的定時任務

2019-10-26 19:00:06
字體:
來源:轉載
供稿:網友

 前段需要在業務中實現某些時間段的簡單定時任務,類似crontab的調度,因為業務會放在docker中,所以不想用直接用crontab,在網上搜了一下,發現一個開源的實現 Pomelo.AspNetCore.TimedJob,使用簡單,但是因為是時間間隔執行,不太符合指定時間段要求,不過感謝有此開源代碼,我在其基礎上重新擼了個crontab的實現,并增加了一些功能,代碼已放在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  }} 

  即可完成每分鐘調用一次的定時任務

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

并在此基礎上對一直一來對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, e2=28, e3=27. 該語法同樣支持范圍
0 0 e3-e1 * *

時間范圍

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

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

09:30-15:00 * * *

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临朐县| 河源市| 东辽县| 个旧市| 延寿县| 望江县| 屯门区| 许昌县| 开封县| 逊克县| 达拉特旗| 中阳县| 左权县| 宣威市| 北宁市| 黄陵县| 东乡县| 永福县| 房产| 延长县| 德江县| 叶城县| 镇巴县| 红安县| 临夏市| 肃北| 唐山市| 西乌珠穆沁旗| 新野县| 太仓市| 中牟县| 文昌市| 精河县| 根河市| 泰顺县| 开远市| 都江堰市| 淳安县| 金华市| 固原市| 合肥市|