diff --git a/cron/jobs.py b/cron/jobs.py index 4096d1fd8..c405d1a6d 100644 --- a/cron/jobs.py +++ b/cron/jobs.py @@ -452,6 +452,7 @@ def create_job( "last_run_at": None, "last_status": None, "last_error": None, + "last_delivery_error": None, # Delivery configuration "deliver": deliver, "origin": origin, # Tracks where job was created for "origin" delivery @@ -620,8 +621,8 @@ def mark_job_run(job_id: str, success: bool, error: Optional[str] = None, save_jobs(jobs) return - - save_jobs(jobs) + + logger.warning("mark_job_run: job_id %s not found, skipping save", job_id) def advance_next_run(job_id: str) -> bool: diff --git a/cron/scheduler.py b/cron/scheduler.py index 23de3ffcc..cdd6877f9 100644 --- a/cron/scheduler.py +++ b/cron/scheduler.py @@ -769,7 +769,7 @@ def run_job(job: dict) -> tuple[bool, str, str, Optional[str]]: _cron_pool.shutdown(wait=False, cancel_futures=True) raise finally: - _cron_pool.shutdown(wait=False) + _cron_pool.shutdown(wait=False, cancel_futures=True) if _inactivity_timeout: # Build diagnostic summary from the agent's activity tracker.