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