All Projects → BruceDone → Clock

BruceDone / Clock

可视化任务调度系统,精简到一个二进制文件 (Web visual task scheduler system , yes ! just one binary solve all the problems !)

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Clock

Cloudtask
cloudtask is a distributed task scheduling platform.
Stars: ✭ 173 (+101.16%)
Mutual labels:  scheduler, task
chronus
Chronus是360数科技术团队基于阿里开源项目TBSchedule重写的分布式调度。
Stars: ✭ 174 (+102.33%)
Mutual labels:  task, scheduler
croner
Trigger functions and/or evaluate cron expressions in JavaScript. No dependencies. Most features. All environments.
Stars: ✭ 169 (+96.51%)
Mutual labels:  task, scheduler
Ects
Elastic Crontab System 简单易用的分布式定时任务管理系统
Stars: ✭ 156 (+81.4%)
Mutual labels:  scheduler, task
josk
🏃🤖 Scheduler and manager for jobs and tasks in node.js on multi-server and clusters setup
Stars: ✭ 27 (-68.6%)
Mutual labels:  task, scheduler
Scheduler
Task scheduler for Golang
Stars: ✭ 171 (+98.84%)
Mutual labels:  scheduler, task
tasks
Package tasks is an easy to use in-process scheduler for recurring tasks in Go
Stars: ✭ 121 (+40.7%)
Mutual labels:  task, scheduler
Chronus
Chronus是360金融技术团队基于阿里开源项目TBSchedule重写的分布式调度。
Stars: ✭ 166 (+93.02%)
Mutual labels:  scheduler, task
linda
Linda is a simple dispatcher library.
Stars: ✭ 12 (-86.05%)
Mutual labels:  task, scheduler
resc
A task orchestrator using redis, written in rust
Stars: ✭ 27 (-68.6%)
Mutual labels:  task, scheduler
Beatserver
Beatserver, a periodic task scheduler for Django 🎵
Stars: ✭ 106 (+23.26%)
Mutual labels:  scheduler, task
Xxl Job
A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
Stars: ✭ 20,197 (+23384.88%)
Mutual labels:  scheduler, task
YACLib
Yet Another Concurrency Library
Stars: ✭ 193 (+124.42%)
Mutual labels:  task, scheduler
go-xxl-job-client
xxl-job go client
Stars: ✭ 36 (-58.14%)
Mutual labels:  task, scheduler
Docker Airflow
Docker Apache Airflow
Stars: ✭ 3,375 (+3824.42%)
Mutual labels:  scheduler, task
Queuer
Queuer is a queue manager, built on top of OperationQueue and Dispatch (aka GCD).
Stars: ✭ 964 (+1020.93%)
Mutual labels:  scheduler, task
Jquery Calendar
A responsive jquery calendar scheduler built with bootstrap and moment.js
Stars: ✭ 67 (-22.09%)
Mutual labels:  scheduler
Multiwatch
Simple task runner on directory changes that doesn't produce tons of logs if everything is OK 👌
Stars: ✭ 74 (-13.95%)
Mutual labels:  task
Pert
A simple command line (bash/shell) utility to estimate tasks using PERT [Program Evaluation and Review Technique]
Stars: ✭ 66 (-23.26%)
Mutual labels:  task
Flowa
🔥Service level control flow for Node.js
Stars: ✭ 66 (-23.26%)
Mutual labels:  task

Clock

基于go cron的可视化调度轻量级调度框架,支持DAG任务依赖,支持bash命令,前端及后端编译完成(基于packr2)后仅有一个二进制文件,轻松部署

地址

https://github.com/BruceDone/clock

环境

使用

直接使用

下载git上的release列表,根据系统下载相应的二进制文件,使用命令

./clock -c ./config/dev.yaml

自己编译前后端

将前端项目 clock-admin 下载到本地,使用命令 npm run build, 编译生成前端项目文件dist, 将后端项目 clock 下载到本地, 进入项目根目录,确保安装了packr2 ,使用如下命令

rm -rf webapp
mkdir -p ./webapp
cp -r /你的clock-admin文件夹/dist/* ./webapp
packr2 clean
packr2
# 根据发布的目标平台,调整如下命令
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go generate  
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

使用命令./clock -c config/dev.yaml 载入你的配置文件,完成后打开浏览器 http://127.0.0.1:9528 ,输入用户名密码就可以进入管理后台 login

结构

├── config - 配置文件夹,示例文件所在
├── controller - 控制层
├── packrd - packr2生成的静态资源
├── param - 参数相关
├── runner - 执行器
├── server - view层
├── storage - 存储相关
└── webapp - 由clock-admin发布的前端资源
    ├── css
    ├── fonts
    ├── img
    └── js

特性与功能

  • DAG任务关联 , 可以管理任务的前后依赖
  • 可视化管理
  • 支持多种数据库: sqlite , mysql ,postgresql
  • 前后端打包完成后只有一个二进制文件,极其方便部署
  • 跨平台

使用截图

登录进入控制台

personal

添加任务容器

fathertask

点击新增,调度表达式这里支持cron和@every语法,更多语法请参考:cron

点击配置进入子任务配置界面

taskdag

点击任务编辑下的新增,选中新增的节点,编辑任务bash命令,任务名,是否保存日志,及任务超时时间(小技巧:选中画板空白处为新增,选中节点为编辑状态),可以自由编辑节点(任务)之间的关系,摆好位置之后选择保存

查看后台任务输出日志

status

查看持久化的日志

loglist

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].