Zurück zum Ranking

distribworks/dkron

Go

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

scheduled-jobsfault-tolerancecrondistributed-systems
Sterne-Wachstum
Sterne
4.4k
Forks
392
Wochenwachstum
Issues
66
2k4k
Jan. 2023Jan. 2024Dez. 2024Jan. 2026
ArtefakteGo Modulesgo get github.com/distribworks/dkron
README

Dkron

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

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
  • Highly 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.

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

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 React Admin as a single page application.

To start developing the dashboard enter the ui directory and run npm install to get the frontend dependencies and then start the local server with npm start it should start a new local web server and open a new browser window serving de web ui.

Make your changes to the code, then run make ui 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/bozerkins/terraform-provider-dkron

Manage and run jobs in Dkron from your django project https://github.com/surface-security/django-dkron

Contributors

Made with contrib.rocks.

Get in touch

Ähnliche Repositories
HangfireIO/Hangfire

An easy way to perform background job processing in .NET and .NET Core applications. No Windows Service or separate process required

C#Otherdotnetdotnet-core
hangfire.io
10.1k1.8k
apache/shardingsphere-elasticjob

Distributed scheduled job

JavaMavenApache License 2.0scheduled-jobscron
8.2k3.3k
quartznet/quartznet

Quartz Enterprise Scheduler .NET

C#Apache License 2.0c-sharpdotnet
quartz-scheduler.net
7.1k1.7k
dkron-io/dkron

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

GoGo ModulesGNU Lesser General Public License v3.0scheduled-jobsfault-tolerance
4.7k417
mesos/chronos

Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules

ScalaApache License 2.0chronosmesos
mesos.github.io/chronos/
4.4k520
jamesmh/coravel

Near-zero config .NET library that makes advanced application features like Task Scheduling, Caching, Queuing, Event Broadcasting, and more a breeze!

C#MIT Licensedotnetcorebackground-jobs
docs.coravel.net/Installation/
4.3k270
node-cron/node-cron

Job scheduling for Node.js with overlap prevention, distributed coordination, and background tasks. Zero dependencies.

TypeScriptnpmISC Licensecronnode-cron
nodecron.com
3.3k284
jobrunr/jobrunr

An extremely easy way to perform background processing in Java. Backed by persistent storage. Open and free for commercial use.

JavaMavenOtherjava-8background-jobs
jobrunr.io/en/
3k318
sidekiq-cron/sidekiq-cron

Scheduler / Cron for Sidekiq jobs

RubyRubyGemsMIT Licensesidekiq-cronsidekiq-jobs
1.9k302
vikeri/react-native-background-job

Schedule background jobs in React Native that run your JavaScript when your app is in the background/killed.

JavaMavenreact-nativescheduled-jobs
747111