Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement ScheduledRepairJob, ScheduledJob and ScheduledTask for Automated Recurring Task Scheduling in Cassandra #737

Closed
VictorCavichioli opened this issue Oct 13, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request PoC/Agent Tasks related to new generation of ecchronos as an agent

Comments

@VictorCavichioli
Copy link
Contributor

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

@VictorCavichioli
Copy link
Contributor Author

PR merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request PoC/Agent Tasks related to new generation of ecchronos as an agent
Projects
None yet
Development

No branches or pull requests

1 participant