Contributor
Aaditya Singh

OVERHAULING SCHEDULER DESIGN


Mentors
Gaurav Mishra, Shaheem Azmal M MD, Avinal Kumar, Kaushlendra
Organization
FOSSology
Technologies
python, go
Topics
Job-Scheduler, Rocketry, OTS
To address the challenges identified with the FOSSology scheduler, particularly the limitations stemming from its programming language (C) and its linear queue design, proposed idea is to refactor current scheduler codebase in python and integrating Rocketry to create a more flexible, maintainable, and feature-rich scheduler. 1. Task Scheduling: Implement task scheduling with rocketry, utilizing its cron-style syntax for defining job frequencies. This allows for precise control over when jobs are executed, aligning with FOSSology's existing scheduling requirements. 2. Mutual Exclusivity and Concurrency: Define tasks with mutual exclusivity constraints directly within Rocketry, ensuring that jobs which should not run concurrently are handled appropriately. Utilize Rocketry's support for asynchronous execution to improve the scheduler's efficiency and responsiveness. 3. Error Handling and Logging: Built-in error handling and logging mechanisms to ensure that job failures are captured accurately, and relevant information is logged for debugging purposes.