您好,登錄后才能下訂單哦!
本篇內容主要講解“Golang定時任務庫gocron有哪些優點”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Golang定時任務庫gocron有哪些優點”吧!
TSINGEEE青犀視頻內視頻平臺都已經具備成熟完善的體系,不僅具備穩定可靠的流媒體視頻結構化智能分析平臺,還有播放器及推流等組件。
在開發EasyDSS、EasyRTC、EasyNVR、EasyCVR等項目時,經常會有定時幾分鐘或者定時幾秒執行一次任務的操作。如果使用Go官方提供的定時器方式,使用起來比較難用,且不方便管理任務。因此使用 github 中開源的定時任務庫進行定時任務操作。
gocron 的最開始倉庫地址為以下的地址:
https://github.com/jasonlvhit/gocron
目前不少人使用的是該倉庫的 gocron,但是 2020 年時,已經聯系不上了該倉庫的擁有者,因此修改了倉庫地址為:
https://github.com/go-co-op/gocron
該倉庫修改的 gocron 更方便使用,因此主要介紹該倉庫的使用。
func ExampleJob_LastRun() { s := gocron.NewScheduler(time.UTC) job, _ := s.Every(1).Second().Do(task) s.StartAsync() fmt.Println("Last run:", job.LastRun()) }
以上代碼首先使用 gocron 的 NewScheduler 方法創建一個任務隊列,然后就是定時任務的執行。
其中 s.StartAsync() 如果該方法運行,會立刻運行執行一次 task 函數,如果不運行該代碼,則會 1s 后才運行一次 task 任務。
該庫還提供了其他很好用的方法:
_, _ = s.Every(1).Second().Do(task) _, _ = s.Every(1).Minute().Do(task) _, _ = s.Every(1).Month(1).Do(task) _, _ = s.Every(1).Day().At("10:00").Do(task) _, _ := s.Every(1).Day().Tuesday().Do(task) _, _ = s.Every(1).Week().Weekday(time.Monday).Do(task)
每周、每天以及每周的周幾、每天的幾點該庫都提供了對應的方法,非常方便實用。
到此,相信大家對“Golang定時任務庫gocron有哪些優點”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。