golang版的crontab


  Linux下cron可以讓系統在指定的時間去執行某個指定的工作,crontab則用來管理cron機制。在服務器方面,就可以利用cron進行周期性的執行某些特定的工作,比如定期數據庫備份,定期壓縮服務器端的數據等等。

  現在用golang做服務器的不斷增多,服務器端需要周期性的備份或壓縮或刪除數據是常態。本周就學習了golang版的crontab,感覺該功能很是方便。

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "github.com/robfig/cron"
 6 )
 7 
 8 func main() {
 9     spec := "0 30 2 * * *" // 每天凌晨2:30
10     c := cron.New()
11     c.AddFunc(spec, callYourFunc)
12     c.Start()
13     select {}
14 }
15 
16 func callYourFunc() {
17     fmt.Println("callYourFunc come here.")
18 }
19 
20 // 每天凌晨2:30就會調用一次callYourFunc函數

  本程序雖然短小,但是已實現了周期性定時執行特定任務。對於指定的時間,一般都是記載在配置文件里,然后通過golang解析配置文件來實現代碼部分不用修改,而只需要修改配置文件就能方便更改指定時間。

參考文檔:http://ju.outofmemory.cn/entry/65356


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM