Welcome to the Distributed Scheduler repository! This system, consisting of a Management API 🛠️ and a Runner service 🏃♀️, allows you to easily schedule and manage jobs that execute at specified times in the future.
- Job Scheduling: Schedule jobs to run at specific times in the future.
- One-Time and Recurring Jobs: Schedule jobs to run once or on a recurring basis.
- Cron Syntax: Use cron syntax to schedule recurring jobs.
- HTTP or AMQP Jobs: Send messages to an HTTP endpoint or an AMQP queue.
- Job Management: View, update, and delete jobs.
- Limit number of job executions: Limit the number of times a job can be executed.
- Job Dependencies: Allow jobs to depend on other jobs.
- Job Priorities: Allow jobs to be assigned priorities.
- Job Retries: Allow jobs to be retried if they fail.
- Job callbacks: Allow jobs to call a specified endpoint after completion.
You must have Docker and Docker Compose installed on your machine to run the system locally.
-
Clone the repository:
git clone https://github.com/xBlaz3kx/distributed-scheduler.git cd distributed-scheduler
-
Run the system using Docker Compose:
docker compose -f docker-compose.yml up
Check out our detailed Local Development Guide and Configuration Guide.
Check out our detailed Architecture Overview in the Documentation directory to learn more about the system's design.
We welcome contributions! Please read our Contributing Guide to learn more about how to get involved.
This project is licensed under the MIT License - see the LICENSE file for details.