All Projects → shunfei → Cronsun

shunfei / Cronsun

Licence: apache-2.0
A Distributed, Fault-Tolerant Cron-Style Job System.

Programming Languages

go
31211 projects - #10 most used programming language
Vue
7211 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Cronsun

Chronos
Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules
Stars: ✭ 4,303 (+72.6%)
Mutual labels:  cron, crontab, job-scheduler, fault-tolerance
Ppgo job
PPGo_Job是一款可视化的、多人多权限的、一任务多机执行的定时任务管理系统,采用golang开发,安装方便,资源消耗少,支持大并发,可同时管理多台服务器上的定时任务。
Stars: ✭ 1,152 (-53.79%)
Mutual labels:  cron, crontab, job-scheduler
Go Quartz
Simple, zero-dependency scheduling library for Go
Stars: ✭ 118 (-95.27%)
Mutual labels:  cron, crontab, job-scheduler
Agendash
Agenda Dashboard
Stars: ✭ 620 (-75.13%)
Mutual labels:  cron, crontab, job-scheduler
Go Crond
⏰ Cron daemon written in golang (for eg. usage in docker images)
Stars: ✭ 59 (-97.63%)
Mutual labels:  cron, crontab
Jiacrontab
简单可信赖的任务管理工具
Stars: ✭ 1,052 (-57.8%)
Mutual labels:  crontab, job-scheduler
Cron Parser
Java Parser For Cron Expressions
Stars: ✭ 176 (-92.94%)
Mutual labels:  cron, crontab
Crontab
Parse Cron Expressions, Compose Cron Expression Strings and Caluclate Execution Dates.
Stars: ✭ 62 (-97.51%)
Mutual labels:  cron, crontab
F3 Cron
Job scheduling for the PHP Fat-Free Framework
Stars: ✭ 65 (-97.39%)
Mutual labels:  cron, job-scheduler
Factotum
A system to programmatically run data pipelines
Stars: ✭ 158 (-93.66%)
Mutual labels:  cron, job-scheduler
Clockwerk
Job Scheduling Library
Stars: ✭ 104 (-95.83%)
Mutual labels:  cron, job-scheduler
Crontabmanager
PHP library for GNU/Linux cron jobs management.
Stars: ✭ 113 (-95.47%)
Mutual labels:  cron, crontab
Vue Cron Generator
Cron Generator Implemented by Vue.js and Element-ui(基于Vue&Element-UI构建的在线Cron表达式生成器)
Stars: ✭ 48 (-98.07%)
Mutual labels:  cron, crontab
Crontab
⏰ Cron expression generator
Stars: ✭ 44 (-98.24%)
Mutual labels:  cron, crontab
Cronv
A visualizer for CRONTAB
Stars: ✭ 196 (-92.14%)
Mutual labels:  cron, crontab
Routine
go routine control, abstraction of the Main and some useful Executors.如果你不会管理Goroutine的话,用它
Stars: ✭ 40 (-98.4%)
Mutual labels:  crontab, job-scheduler
Cronicle
A simple, distributed task scheduler and runner with a web based UI.
Stars: ✭ 979 (-60.73%)
Mutual labels:  cron, crontab
Crontab
Yii2 extension for crontab support
Stars: ✭ 170 (-93.18%)
Mutual labels:  cron, crontab
Bree
🚥 The best job scheduler for Node.js and JavaScript with cron, dates, ms, later, and human-friendly support. Works in Node v10+ and browsers, uses workers to spawn sandboxed processes, and supports async/await, retries, throttling, concurrency, and graceful shutdown. Simple, fast, and lightweight. Made for @ForwardEmail and @ladjs.
Stars: ✭ 933 (-62.58%)
Mutual labels:  cron, crontab
Deno cron
A cron Job scheduler for Deno that allows you to write human readable cron syntax with tons of flexibility
Stars: ✭ 35 (-98.6%)
Mutual labels:  cron, crontab

cronsun Build Status

cronsun is a distributed cron-style job system. It's similar with crontab on stand-alone *nix.

简体中文

Purpose

The goal of this project is to make it much easier to manage jobs on lots of machines and provides high availability. cronsun is different from Azkaban, Chronos, Airflow.

Features

  • Easy manage jobs on multiple machines
  • Management panel
  • Mail service
  • Multi-language support
  • Simple authentication and accounts manager(default administrator email and password: [email protected]/admin)

Status

cronsun has been tested in production for years on hundreds of servers. Although the current version is not release as an stable version, but we think it is completely available for the production environment. We encourage you to try it, it's easy to use, see how it works for you. We believe you will like this tool.

Architecture

                                                [web]
                                                  |
                                     --------------------------
           (add/del/update/exec jobs)|                        |(query job exec result)
                                   [etcd]                 [mongodb]
                                     |                        ^
                            --------------------              |
                            |        |         |              |
                         [node.1]  [node.2]  [node.n]         |
             (job exec fail)|        |         |              |
          [send mail]<-----------------------------------------(job exec result)

Security

cronsun support security with security.json config. When open=true, job command is only allow local files with special extension on the node.

{
    "open": true,
    "#users": "allowed execution users",
    "users": [
        "www", "db"
    ],
    "#ext": "allowed execution file extensions",
    "ext": [
        ".cron.sh", ".cron.py"
    ]
}

Getting started

Setup / installation

Install from binary latest release

Or build from source, require go >= 1.11+.

NOTE: The branch master is not in stable, using Cronsun for production please checkout corresponding tags.

export GO111MODULE=on
go get -u github.com/shunfei/cronsun
cd $GOPATH/src/github.com/shunfei/cronsun
go mod vendor
sh build.sh

Run

  1. Install MongoDB
  2. Install etcd3
  3. Open and update Etcd(conf/etcd.json) and MongoDB(conf/db.json) configurations
  4. Start cronnode: ./cronnode -conf conf/base.json, start cronweb: ./cronweb -conf conf/base.json
  5. Open http://127.0.0.1:7079 in browser
  6. Login with username [email protected] and password admin

Screenshot

Brief:

Exec result:

Job:

Node:

Credits

cron is base on robfig/cron

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].