dkron

Dkron - Distributed, fault tolerant job scheduling system https://dkron.io

Github星跟蹤圖

Dkron - Distributed, fault tolerant job scheduling system for cloud native environments GoDoc Actions Status Gitter

Website: http://dkron.io/

Dkron is a distributed cron service, easy to setup and fault tolerant with focus in:

  • Easy: Easy to use with a great UI
  • Reliable: Completely fault tolerant
  • High scalable: Able to handle high volumes of scheduled jobs and thousands of nodes

Dkron is written in Go and leverage the power of the Raft protocol and Serf for providing fault tolerance, reliability and scalability while keeping simple and easily installable.

Dkron is inspired by the google whitepaper Reliable Cron across the Planet and by Airbnb Chronos borrowing the same features from it.

Dkron runs on Linux, OSX and Windows. It can be used to run scheduled commands on a server cluster using any combination of servers for each job. It has no single points of failure due to the use of the Gossip protocol and fault tolerant distributed databases.

You can use Dkron to run the most important part of your company, scheduled jobs.

Project status

Dkron v1.x is the previous stable still used in production by several companies.

Dkron v2.x is the latest version also stable and used in production by several companies, if you are going to start a new deployment, use this.

Installation

Installation instructions

Full, comprehensive documentation is viewable on the Dkron website

Development Quick start

The best way to test and develop dkron is using docker, you will need Docker installed before proceding.

Clone the repository.

Next, run the included Docker Compose config:

docker-compose up

This will start Dkron instances. To add more Dkron instances to the clusters:

docker-compose up --scale dkron-server=4
docker-compose up --scale dkron-agent=10

Check the port mapping using docker-compose ps and use the browser to navigate to the Dkron dashboard using one of the ports mapped by compose.

To add jobs to the system read the API docs.

Frontend development

Dkron dashboard is built using a combinations of golang templates and AngularJS code.

To start developing the dashboard enter the static directory and run npm install to get the frontend dependencies.

Change code in JS files or in templates, then run make gen to generate assets files. This is a method of embedding resources in Go applications.

Resources

Chef cookbook
https://supermarket.chef.io/cookbooks/dkron

Python Client Library
https://github.com/oldmantaiter/pydkron

Ruby client
https://github.com/jobandtalent/dkron-rb

PHP client
https://github.com/gromo/dkron-php-adapter

Terraform provider
https://github.com/peertransfer/terraform-provider-dkron

Get in touch

Sponsor

This project is possible thanks to the Support of Jobandtalent

主要指標

概覽
名稱與所有者distribworks/dkron
主編程語言Go
編程語言Makefile (語言數: 9)
平台
許可證GNU Lesser General Public License v3.0
所有者活动
創建於2015-06-10 08:13:17
推送於2025-05-20 19:15:12
最后一次提交
發布數134
最新版本名稱v4.0.5 (發布於 2025-05-04 18:15:08)
第一版名稱v0.0.3 (發布於 )
用户参与
星數4.5k
關注者數94
派生數396
提交數2.7k
已啟用問題?
問題數595
打開的問題數74
拉請求數836
打開的拉請求數9
關閉的拉請求數282
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?