The Distributed Task Scheduler is a scalable system designed to handle large-scale task execution with dynamic load balancing and priority-based scheduling. It leverages gRPC for efficient task orchestration and PostgreSQL for reliable task storage.
- Scalable Task Scheduling: Efficiently manages 5,000+ concurrent tasks.
- Dynamic Load Balancing: Reduces average job execution latency by 40%.
- Priority-Based Scheduling: Ensures optimal resource utilization.
- gRPC for Task Execution: Reduces communication latency by 30% compared to REST.
- Dockerized Deployment: Simplifies setup and scalability.
- Go – Core application logic
- gRPC – Efficient remote procedure calls for task execution
- PostgreSQL – Persistent task storage
- Docker – Containerized deployment
Install Docker before running the application.
- Clone the Repository:
git clone https://github.com/yourusername/distributed-task-scheduler.git cd src - Start and Run Application (Docker):
docker-compose up --build
- Initialize Database Connection: The application connects to PostgreSQL and creates the necessary tables.
- Task Submission via gRPC: Tasks can be scheduled and executed through gRPC service calls.
- Monitor Execution: Tasks transition through
scheduled,picked,started,completed, orfailedstates.
To verify if a task has been added, run:
docker exec -it my_postgres psql -U youruser -d tasksdb -c "SELECT * FROM tasks;"