Coverage for dataexcept/exceptions/scheduling.py: 100%
12 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-09-03 20:46 +0000
« prev ^ index » next coverage.py v7.15.4, created at 2026-09-03 20:46 +0000
1# scheduling.py
2from .base import JobError
5class ScheduleConflictError(JobError):
6 """Raised when two jobs have conflicting schedules."""
8 def __init__(self, job_name: str, schedule: str):
9 self.job_name = job_name
10 self.schedule = schedule
11 msg = f"Schedule conflict for job '{job_name}' on schedule '{schedule}'"
12 super().__init__(msg)
15class CronExpressionError(JobError):
16 """Raised when a cron expression is invalid."""
18 def __init__(self, expression: str, message: str | None = None):
19 self.expression = expression
20 self.message = message or f"Invalid cron expression: '{expression}'"
21 super().__init__(self.message)