cronsun 是一个分布式任务系统,单个结点和 *nix 机器上的 crontab 近似。支持界面管理机器上的任务,支持任务失败邮件提醒,安装简单,使用方便,是替换 crontab 一个不错的选择。
cronsun 是为了解决多台 *nix 机器上crontab 任务管理不方便的问题,同时提供任务高可用的支持(当某个节点死机的时候可以自动调度到正常的节点执行)。cronsun 和 Azkaban、Chronos、Airflow这些不是同一类型的。
架构
安全性
cronsun是在管理后台添加任务的,所以一旦管理后台泄露出去了,则存在一定的危险性,所以cronsun支持security.json的安全设置:
如上设置开启安全限制,则添加和执行任务的时候只允许选择配置里面指定的用户来执行脚本,并且脚本的扩展名要在配置的脚本扩展名限制列表里面。
Getting started
Setup / installation
Building with the source, require go >= 1.7+
go get -u github.com/shunfei/cronsuncd $GOPATH/src/github.com/shunfei/cronsunsh build.shOr install with the binary releases
执行文件和配置文件在 dist文件夹
Run
安装 MongoDB
安装 etcd3
修改 conf 相关的配置
在任务结点启动 ./cronnode -conf conf/base.json,在管理结点启动 ./cronweb -conf conf/base.json
访问管理界面 http://127.0.0.1:7079/ui/
Screenshot
Brief:
Exec result:
Job:
Node:
Credits
cron is base on robfig/cron