GithubHelp home page GithubHelp logo

juanmaneo / dkron Goto Github PK

View Code? Open in Web Editor NEW

This project forked from distribworks/dkron

0.0 0.0 0.0 120.38 MB

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

License: GNU Lesser General Public License v3.0

Shell 0.67% JavaScript 15.46% Go 69.13% TypeScript 8.42% CSS 0.86% Makefile 0.58% HTML 2.00% Dockerfile 0.05% SCSS 2.41% Jinja 0.41%

dkron's Introduction

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

dkron's People

Contributors

dependabot[bot] avatar dependabot-preview[bot] avatar yvanoers avatar xavib avatar fopina avatar sysadmind avatar tengattack avatar richard-julien avatar kevinwu0904 avatar andreygolev avatar whizz avatar naxhh avatar mlafeldt avatar thierry-f-78 avatar a69 avatar kevynhale avatar zaidqureshi2 avatar vcastellm avatar espina2 avatar ti avatar digitalcrab avatar mgsousa avatar fedebev avatar 0xflotus avatar piter77 avatar prakashdivyy avatar ramezhanna avatar clarifysky avatar sandyydk avatar daffodilistic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.