Crocodile任务调度系统
Crocodile是基于Golang开发的分布式定时任务调度系统,支持http请求、运行Golang、Python、Shell、Python3、Nodejs等调度任务。
特性
- 在Web节点对任务进行增加、修改、删除、克隆、运行任务等操作
- 实时查看正在运行的任务和任务的实时日志,并且可以对正在运行的任务进行终止操作
- 多种任务类型:
- 执行
http
请求任务 - 运行
shell
、python
、golang
代码(当然其他语言也可以支持,如需要请提出)
- 执行
- 父、子任务:
当设置了父任务或者子任务后,先会运行父任务
->主任务
->子任务
,任意任务出错后会立即中断整个流程,还可以设置父任务或子任务并行
或者串行
运行 - 调度算法:
支持四种调度算法随机、轮训、Worker权重、Worker最少任务数来调用Worker运行任务, - 自定义报警策略:
可以设置当任务成功
、失败
、或者运行完成后
报警给多个用户
设置任务的返回码或者返回内容来比较任务的实际返回码或者返回内容是否相同来判断任务运行成功或者,code任务默认为0,http任务默认为200 - 主机组:
一个任务只可以绑定到任意一个主机组,任务的运行会通过任务的路由策略来选取这个主机组中的一个任务来运行任务 - 主机:
一个主机组可以绑定多个主机,主机是实际运行任务的节点,注册后调度中心自动发现 - 安全策略
证书加密加密通讯数据
访问令牌 - 任务的日志管理,清理日志
- 报警通知支持平台
- 邮件
- 企业微信
- 钉钉
- Slack Channel
- Telegram Bot
- WebHook URL
- 详细的任务审计功能
对用户的所有对数据改变的操作都会记录下来 - 权限控制
有三种用户类型- 管理员
拥有所有操作权限, - 普通用户 可以创建新的任务、主机组,但是只可以自已创建的任务或主机组进行操作,但是不能查看审计记录、所有用户
- 访客
只有查看的权限、无任何操作修改权限,但是不能查看审计记录、所有用户
- 管理员
评论