golang定時任務jakecoffman/cron包的使用

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

cron定時任務使用"github.com/jakecoffman/cron"包

func conDemo() {
    spec := "*/5 * * * * ?" //每5s執行一次
    cronJob := cron.New()
    //cronJob.RemoveJob()//要刪除任務使用這個方法
    cronJob.AddFunc(spec, conFun, "cronFun")
    cronJob.Start()
}

func conFun() {
    fmt.Println("this is conFun Test")
}

以上是每5秒列印一次this is conFun Test

時間的定義資訊:

欄位名               是否必須        允許的值          允許的特定字元
秒(Seconds)           是            0-59              * / , -
分(Minutes)           是            0-59              * / , -
時(Hours)           是            0-23              * / , -
日(Day of month)   是            1-31              * / , – ?
月(Month)           是            1-12 or JAN-DEC      * / , -
星期(Day of week)  否            0-6 or SUM-SAT    * / , – ?

1、月(Month)和星期(Day of week)欄位的值不區分大小寫,如:SUN、Sun 和 sun 是一樣的。
2、星期欄位如果沒提供,相當於是 *
3、星號(*):表示 cron 運算式能匹配該欄位的所有值。如在第5個欄位使用星號(month),表示每個月,如果值為:* 21 18 * * ?,則表示,在每天的18點21分裡的每秒都會執行一次
4、斜線(/):表示增長間隔,如第1個欄位(minutes) 值是3-59/15,表示每小時的第3分鐘開始執行一次,之後每隔 15 分鐘執行一次(即 3、18、33、48 這些時間點執行),這裡也可以表示為:3/15
5、逗號(,):用於枚舉值,如第6個欄位值是 MON,WED,FRI,表示 星期一、三、五 執行
6、連字號(-):表示一個範圍,如第3個欄位的值為 9-17 表示 9am 到 5pm 直接每個小時(包括9和17)
7、問號(?):只用於 日(Day of month) 和 星期(Day of week),表示不指定值,可以用於代替 *

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.