婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 詳解在dotnet core實現(xiàn)類似crontab的定時任務

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

熱門標簽:威海電銷外呼系統(tǒng)好用嗎 湖北孝感如何辦理 同花順電話機器人微信 北京電銷機器人對市場的影響 輝縣市地圖標注 武漢語音電銷機器人加盟 外呼系統(tǒng)的合法性 地圖標注x是啥意思 房產(chǎn)證地圖標注的兩個面積

 前段需要在業(yè)務中實現(xiàn)某些時間段的簡單定時任務,類似crontab的調(diào)度,因為業(yè)務會放在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)用一次的定時任務

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é)合, 替換原有的時分設置, 如

每日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 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

總結(jié)

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

您可能感興趣的文章:
  • AspNet Core上實現(xiàn)web定時任務實例
  • Linux Crontab Shell腳本實現(xiàn)秒級定時任務的方法
  • linux定時任務crontab 實現(xiàn)每秒執(zhí)行一次的方法
  • Linux中crontab定時任務不執(zhí)行的原因
  • CentOS下采用Crontab實現(xiàn)PHP腳本定時任務
  • Linux定時任務Crontab詳解(推薦)
  • 詳解使用python crontab設置linux定時任務

標簽:蚌埠 迪慶 西寧 武威 日喀則 麗江 安康 紹興

巨人網(wǎng)絡通訊聲明:本文標題《詳解在dotnet core實現(xiàn)類似crontab的定時任務》,本文關(guān)鍵詞  詳解,在,dotnet,core,實現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解在dotnet core實現(xiàn)類似crontab的定時任務》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解在dotnet core實現(xiàn)類似crontab的定時任務的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章
    主站蜘蛛池模板: 禄丰县| 喀喇| 江门市| 大理市| 松原市| 历史| 金平| 扶绥县| 万荣县| 金门县| 陆河县| 康马县| 南郑县| 兴宁市| 台前县| 奎屯市| 上蔡县| 贵溪市| 明溪县| 法库县| 沭阳县| 泰兴市| 融水| 昌图县| 中山市| 永定县| 宁南县| 嘉荫县| 玛曲县| 手机| 镶黄旗| 沿河| 化德县| 乐都县| 平武县| 齐齐哈尔市| 普格县| 洪湖市| 江达县| 海盐县| 莒南县|