背景
最近在開發過程中,感覺到管理在不同機器上的管理不同定時任務有點麻煩,於是想集中化管理定時任務。經過一番調研,選擇了gocron-定時任務管理系統。
介紹
github地址:https://github.com/ouqiang/gocron
優勢:基於go語言開發的一款輕量級定時任務集中排程和管理系統,效能高,頁面操作也很簡單。
安裝
安裝過程比較簡單,github專案裡有介紹,一步步來基本不會有問題。這裡概括下幾個點:
- 需要下載
gocron
和gocron-node
兩個包 - gocron是web配置平臺 ,監聽5920埠;gocron-node 是想要執行的任務節點伺服器部署的程式,監聽5921埠
Supervisor管理
使用supervisor管理,保證程式的穩定執行。supervisor的使用本文不做介紹了,主要是說明下supervisor的配置,如下:
-
go-cron-node
[program:go-cron-node] process_name=%(program_name)s_%(process_num)02d command=/usr/local/server/gocron-node/gocron-node autostart=true autorestart=true user=release numprocs=1 startsecs=3 startretries=5 redirect_stderr=true stdout_logfile_maxbytes=20MB stdout_logfile_backups=20 stdout_logfile=/data/log/supervisor/go_cron_node.log
-
go-cron
process_name=%(program_name)s_%(process_num)02d command=/usr/local/server/gocron/gocron web autostart=true autorestart=true user=release numprocs=1 startsecs=3 startretries=5 redirect_stderr=true stdout_logfile_maxbytes=20MB stdout_logfile_backups=20 stdout_logfile=/data/log/supervisor/go_cron.log
結束語
因為作者沒有使用過其他定時任務管理系統,沒有比較的標準,上手gocron之後感覺很好用,如果讀者們有什麼其他的定時任務管理系統推薦,歡迎推薦和交流。