《GitHub精選》是我們分享Github中優(yōu)質(zhì)項目的欄目,包括技術(shù)、學(xué)習(xí)、實用與各種有趣的內(nèi)容。本期推薦的是 gocron – 定時任務(wù)管理系統(tǒng)
之前有過一期分布式任務(wù)調(diào)度中心XXL-JOB,同樣是開源產(chǎn)品,那么到底哪一款更適合你呢?
項目介紹
1.Web界面管理定時任務(wù)
2.crontab時間表達式,精確到秒
3.任務(wù)執(zhí)行失敗可重試
4.任務(wù)執(zhí)行超時,強制結(jié)束
5.任務(wù)依賴配置,隊列方式執(zhí)行
6.支持shell任務(wù)和多節(jié)點運行,支持Http任務(wù),調(diào)度器執(zhí)行
7.支持任務(wù)日志查詢
8.任務(wù)執(zhí)行結(jié)果可選擇多種方式通知
支持平臺:windows,linux,mac os
安裝:git地址https://github.com/ouqiang/gocron/releases
- 安裝Go環(huán)境,mysql
- go get -d github.com/ouqiang/gocron
- export GO111MODULE=on
- 編譯 make
- 啟動
- gocron ./bin/gocron web
- gocron-node ./bin/gocron-node
docker
docker run --name gocron --link mysql:db -p 5920:5920 -d ouqg/gocron
配置: /app/conf/app.ini
日志: /app/log/cron.log
鏡像不包含gocron-node, gocron-node需要和具體業(yè)務(wù)一起構(gòu)建
注意:安裝的時候需要下載gocron和gocron-node兩個包,gocron是web配置平臺,gocron-node是需要執(zhí)行任務(wù)的節(jié)點部署的程序
執(zhí)行g(shù)ocron-node時不允許使用root來執(zhí)行,因此指定一個執(zhí)行用戶就可以了
使用命令
gocron -v 查看版本
gocron web -p 指定端口,默認5920
gocron web -e 指定運行環(huán)境,dev|test|prod, 默認prod
gocron web -h 查看幫助
gocron-node -s ip:port 監(jiān)聽地址
gocron-node -enable-tls 開啟TLS
gocron-node -ca-file CA證書文件
gocron-node -cert-file 證書文件
gocron-node -key-file 私鑰文件
XXL-JOB
和XXL-JOB相比兩者的功能基本上都是差不多的,gocron對于任務(wù)批量的操作、任務(wù)的分組、多用戶權(quán)限控制上還是差了一些,不過基礎(chǔ)的使用還是完全夠的。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。