Implement ScheduledRepairJob, ScheduledJob and ScheduledTask for Automated Recurring Task Scheduling in Cassandra #737
Labels
enhancement
New feature or request
PoC/Agent
Tasks related to new generation of ecchronos as an agent
Story Description:
Currently, the system lacks a mechanism for scheduling recurring tasks like repairs, leading to manual interventions and inconsistent execution of critical operations. To address this, we need to implement two key components: ScheduledJob, a base class for scheduling recurring jobs, and ScheduledRepairJob, a specific implementation that schedules and manages Cassandra repair tasks.
The ScheduledJob class will provide a generic framework for scheduling any job at predefined intervals, handling logic such as determining the next execution time and managing job windows. The ScheduledRepairJob will extend ScheduledJob and specialize in managing repair tasks, ensuring repairs are performed within their scheduled windows and integrate seamlessly with the existing repair logic.
Both classes should work together to automate the scheduling of repair jobs, making the system more reliable and reducing the need for manual oversight.
Acceptance Criteria:
A ScheduledJob class is implemented, providing core scheduling functionality for recurring jobs, including methods for calculating the next execution time and ensuring thread-safe execution of jobs.
A ScheduledRepairJob class is implemented, extending ScheduledJob and specializing in scheduling repairs for Cassandra tables, based on a predefined interval.
The ScheduledRepairJob correctly schedules repair tasks without overlapping other operations and handles full and incremental repairs.
Integration of the ScheduledRepairJob with existing repair logic, ensuring repairs are executed as expected within the scheduled windows.
Definition of Done:
The ScheduledJob, ScheduledRepairJob and ScheduleTask classes are implemented and can handle job scheduling at specified intervals.
The system has been validated for thread safety and concurrent execution of multiple jobs.
Notes:
Related with #652
The text was updated successfully, but these errors were encountered: