INNER CODE UNIT · Python
_handle_missed_jobs
MichielMe/fastscheduler · src/fastscheduler/main.py:339
def _handle_missed_jobs(self):
"""Handle jobs that should have run while scheduler was stopped."""
now = time.time()
with self.lock:
for job in self.jobs:
if not job.catch_up:
continue
if job.next_run < now and job.repeat:
if job.schedule_type in ["daily", "weekly", "hourly"]:
self._calculate_next_run(job)
elif job.interval:
missed_count = int((now - job.next_run) / job.interval)
if missed_count > 0:
if not self.quiet:
logger.warning(
f"Job {job.func_name} missed {missed_count} runs, running now"