欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2019年07月22日 16:56:29   作者:aquilahkj  
這篇文章主要介紹了在dotnet core實(shí)現(xiàn)類似crontab的定時(shí)任務(wù),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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

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

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

    首先通過(guò)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)用一次的定時(shí)任務(wù)

Light.Cron完全兼容Linux Crontab時(shí)間格式
*  *  *  *  *
分 時(shí) 日 月 周

第1列表示分鐘0~59

第2列表示小時(shí)0~23

第3列表示日期1~31

第4列表示月份1~12

第5列標(biāo)識(shí)號(hào)星期0~7(0和7表示星期天)
每天10點(diǎn)至16點(diǎn)
0 10-16 * * *

每隔兩個(gè)小時(shí)
0 */2 * * *

并在此基礎(chǔ)上對(duì)一直一來(lái)對(duì)crontab使用的一些痛點(diǎn)進(jìn)行了功能增強(qiáng)

跨時(shí)間段

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

月末日期

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

時(shí)間范圍

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

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

09:30-15:00 * * *

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

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

多組調(diào)度計(jì)劃

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

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

簡(jiǎn)略寫法

如下一級(jí)及其以之后的時(shí)間范圍都是*, 可以簡(jiǎn)略不寫, 如

* * * * * = *
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實(shí)現(xiàn)類似crontab的定時(shí)任務(wù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Shell中set與shopt命令選項(xiàng)的含義和使用示例

    Shell中set與shopt命令選項(xiàng)的含義和使用示例

    這篇文章主要給大家介紹了關(guān)于Shell中set與shopt命令選項(xiàng)的含義與使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • Linux查看系統(tǒng)時(shí)間的詳細(xì)方法總結(jié)

    Linux查看系統(tǒng)時(shí)間的詳細(xì)方法總結(jié)

    系統(tǒng)時(shí)間是計(jì)算機(jī)硬件和軟件運(yùn)行的基礎(chǔ),在Linux系統(tǒng)中,查看系統(tǒng)時(shí)間是一項(xiàng)基本任務(wù),本文將從多個(gè)方面介紹Linux查看系統(tǒng)時(shí)間的詳細(xì)方法,需要的朋友可以參考下
    2023-09-09
  • 5個(gè)Shell腳本編程入門練習(xí)例子

    5個(gè)Shell腳本編程入門練習(xí)例子

    這篇文章主要介紹了5個(gè)Shell腳本編程入門例子,涵蓋了各種操作,又有一些游戲的性質(zhì),作為入門練習(xí)例子是不很不錯(cuò)的,需要的朋友可以參考下
    2014-06-06
  • 淺談shell腳本免交互的四大方法

    淺談shell腳本免交互的四大方法

    這篇文章主要介紹了淺談shell腳本免交互的四大方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Linux中使用Shell腳本查看Java線程的CPU使用情況

    Linux中使用Shell腳本查看Java線程的CPU使用情況

    這篇文章主要介紹了Linux中使用Shell腳本查看Java線程的CPU使用情況,需要的朋友可以參考下
    2014-06-06
  • 獲取同一網(wǎng)段下所有機(jī)器MAC地址的shell腳本

    獲取同一網(wǎng)段下所有機(jī)器MAC地址的shell腳本

    有時(shí)候需要在當(dāng)前同一網(wǎng)段下所有機(jī)器MAC地址,需要的朋友可以參考下
    2013-01-01
  • Shell腳本制作的終端會(huì)話回放功能腳本分享

    Shell腳本制作的終端會(huì)話回放功能腳本分享

    這篇文章主要介紹了Shell腳本制作的終端會(huì)話回放功能腳本分享,本文分兩個(gè)文件,Record.sh是用來(lái)記錄你所執(zhí)行的命令和屏幕的輸出的,而Replay.sh是用來(lái)回放Record.sh所錄制的內(nèi)容的,需要的朋友可以參考下
    2014-11-11
  • Shell?腳本自動(dòng)輸入密碼的三種方式小結(jié)

    Shell?腳本自動(dòng)輸入密碼的三種方式小結(jié)

    本文主要介紹了Shell?腳本自動(dòng)輸入密碼的三種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • shell編程實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)

    shell編程實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了shell編程實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • shell編程中for循環(huán)語(yǔ)句的實(shí)現(xiàn)過(guò)程及案例

    shell編程中for循環(huán)語(yǔ)句的實(shí)現(xiàn)過(guò)程及案例

    Bash?Shell中主要提供了三種循環(huán)方式:for、while和until,下面這篇文章主要給大家介紹了關(guān)于shell編程中for循環(huán)語(yǔ)句的實(shí)現(xiàn)過(guò)程及案例,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04

最新評(píng)論