All Projects → distribworks → Dkron

distribworks / Dkron

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

Programming Languages

go
31211 projects - #10 most used programming language
typescript
32286 projects
HTML
75241 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Dkron

Chronos
Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules
Stars: ✭ 4,303 (+46.86%)
Mutual labels:  cron, scheduled-jobs, fault-tolerance
Lizardfs
LizardFS is an Open Source Distributed File System licensed under GPLv3.
Stars: ✭ 793 (-72.94%)
Mutual labels:  distributed-systems, fault-tolerance
Quartznet
Quartz Enterprise Scheduler .NET
Stars: ✭ 4,825 (+64.68%)
Mutual labels:  cron, scheduled-jobs
Sundial
A Light-weight Job Scheduling Framework
Stars: ✭ 230 (-92.15%)
Mutual labels:  cron, scheduled-jobs
Odin
A programmable, observable and distributed job orchestration system.
Stars: ✭ 405 (-86.18%)
Mutual labels:  cron, distributed-systems
Pysyncobj
A library for replicating your python class between multiple servers, based on raft protocol
Stars: ✭ 468 (-84.03%)
Mutual labels:  distributed-systems, fault-tolerance
Shardingsphere Elasticjob
Distributed scheduled job framework
Stars: ✭ 7,369 (+151.5%)
Mutual labels:  cron, scheduled-jobs
Naos
A mildly opiniated modern cloud service architecture blueprint + reference implementation
Stars: ✭ 19 (-99.35%)
Mutual labels:  distributed-systems, scheduled-jobs
Cronscheduler.aspnetcore
Cron Scheduler for AspNetCore 2.x/3.x or DotNetCore 2.x/3.x Self-hosted
Stars: ✭ 100 (-96.59%)
Mutual labels:  cron, scheduled-jobs
Thespian
Python Actor concurrency library
Stars: ✭ 220 (-92.49%)
Mutual labels:  distributed-systems, fault-tolerance
Metronome
Metronome is a distributed and fault-tolerant event scheduler
Stars: ✭ 131 (-95.53%)
Mutual labels:  cron, fault-tolerance
Cloudi
A Cloud at the lowest level!
Stars: ✭ 352 (-87.99%)
Mutual labels:  distributed-systems, fault-tolerance
Distributedsystemnotes
Notes on Lindsey Kuper's lectures on Distributed Systems
Stars: ✭ 267 (-90.89%)
Mutual labels:  distributed-systems, fault-tolerance
josk
🏃🤖 Scheduler and manager for jobs and tasks in node.js on multi-server and clusters setup
Stars: ✭ 27 (-99.08%)
Mutual labels:  cron, scheduled-jobs
Bastion
Highly-available Distributed Fault-tolerant Runtime
Stars: ✭ 2,333 (-20.38%)
Mutual labels:  distributed-systems, fault-tolerance
Distributed Consensus Reading List
A long list of academic papers on the topic of distributed consensus
Stars: ✭ 803 (-72.59%)
Mutual labels:  distributed-systems, fault-tolerance
asparagus
An easy to use task scheduler for distributed systems
Stars: ✭ 14 (-99.52%)
Mutual labels:  distributed-systems, cron
kraker-info
Microservices based project to extract the information from the user data from different sources.
Stars: ✭ 17 (-99.42%)
Mutual labels:  distributed-systems, fault-tolerance
Elixirbooks
List of Elixir books
Stars: ✭ 1,021 (-65.15%)
Mutual labels:  distributed-systems, fault-tolerance
Node Cron
A simple cron-like job scheduler for Node.js
Stars: ✭ 2,064 (-29.56%)
Mutual labels:  cron, scheduled-jobs

Dkron

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.

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 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/peertransfer/terraform-provider-dkron

Get in touch

Sponsor

This project is possible thanks to the Support of Jobandtalent

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