Metronome - Distributed, fault tolerant scheduler
Metronome is a distributed and fault-tolerant event scheduler. It can be used to trigger remote systems throught events (HTTP, AMQP, KAFKA).
Metronome is written in Go and leverage the power of kafka streams to provide fault tolerance, reliability and scalability.
Metronome take a new approach to the job scheduling problem, as it only handle job scheduling not effective execution. Effective job execution is perform by triggered external system.
Metronome has a number of advantages over regular cron:
- Jobs can be written in any language, using any technology as it only trigger event.
- Jobs are schedule using ISO8601 repeating interval notation, which enables more flexibility.
- It is able to handle high volumes of scheduled jobs in a completely fault way.
- Easy admin, thanks to a great UI.
Status
Currently Metronome is under heavy development.
Quick start
The best way to test and develop Metronome is using docker, you will need Docker Toolbox installed before proceding.
-
Clone the repository.
-
Run the included Docker Compose config:
docker-compose up -d
This will start, PostgreSQL, Redis, Kafka and Metronome instances.
Open your browser and navigate to localhost:8081
Contributing
Instructions on how to contribute to Metronome are available on the Contributing page.
Get in touch
- Twitter: @notd33d33