gocron - 定時任務web管理系統

gocron - 定時任務管理系統

項目簡介

使用Go語言開發的輕量級定時任務集中調度和管理系統, 用於替代Linux-crontab 查看文檔前端

原有的延時任務拆分爲獨立項目延遲隊列vue

功能特性

  • Web界面管理定時任務
  • crontab時間表達式, 精確到秒
  • 任務執行失敗可重試
  • 任務執行超時, 強制結束
  • 任務依賴配置, A任務完成後再執行B任務
  • 帳戶權限控制
  • 任務類型node

    • shell任務git

      在任務節點上執行shell命令, 支持任務同時在多個節點上運行
    • HTTP任務github

      訪問指定的URL地址, 由調度器直接執行, 不依賴任務節點
  • 查看任務執行結果日誌
  • 任務執行結果通知, 支持郵件、Slack、Webhook

截圖

流程圖
任務
Slack

支持平臺

Windows、Linux、Mac OS

環境要求

MySQL

下載

releases web

版本升級docker

安裝

二進制安裝

  1. 解壓壓縮包
  2. cd 解壓目錄
  3. 啓動
  • 調度器啓動shell

    • Windows: gocron.exe web
    • Linux、Mac OS: ./gocron web
  • 任務節點啓動, 默認監聽0.0.0.0:5921瀏覽器

    • Windows: gocron-node.exe
    • Linux、Mac OS: ./gocron-node
  1. 瀏覽器訪問 http://localhost:5920

源碼安裝

  • 安裝Go 1.9+
  • go get -d github.com/ouqiang/gocron
  • 編譯 make
  • 啓動框架

    • gocron ./bin/gocron web
    • gocron-node ./bin/gocron-node

docker

docker run --name gocron -p 5920:5920 -d ouqg/gocron

開發

  1. 安裝Go1.9+, Node.js, Yarn
  2. 安裝前端依賴 make install-vue
  3. 啓動gocron, gocron-node make run
  4. 啓動node server cd web/vue && yarn run dev, 訪問地址 http://localhost:8080

訪問http://localhost:8080, API請求會轉發給gocron

make 編譯

make run 編譯並運行

make package 打包

生成當前系統的壓縮包 gocron-v1.5-darwin-amd64.tar.gz gocron-node-v1.5-darwin-amd64.tar.gz

make package-all 生成Windows、Linux、Mac的壓縮包

命令

  • gocron

    • -v 查看版本
  • gocron web

    • --host 默認0.0.0.0
    • -p 端口, 指定端口, 默認5920
    • -e 指定運行環境, dev|test|prod, dev模式下可查看更多日誌信息, 默認prod
    • -h 查看幫助
  • gocron-node

    • -allow-root *nix平臺容許以root用戶運行
    • -s ip:port 監聽地址
    • -enable-tls 開啓TLS
    • -ca-file CA證書文件
    • -cert-file 證書文件
    • -key-file 私鑰文件
    • -h 查看幫助
    • -v 查看版本

To Do List

  • [x] 版本升級
  • [x] 批量開啓、關閉、刪除任務
  • [x] 調度器與任務節點通訊支持https
  • [x] 任務分組
  • [x] 多用戶
  • [x] 權限控制

程序使用的組件

反饋

提交issue

相關文章
相關標籤/搜索