diff --git a/src/api-service/__app__/onefuzzlib/tasks/main.py b/src/api-service/__app__/onefuzzlib/tasks/main.py index ca4c12731..2e28ac95a 100644 --- a/src/api-service/__app__/onefuzzlib/tasks/main.py +++ b/src/api-service/__app__/onefuzzlib/tasks/main.py @@ -195,6 +195,11 @@ class Task(BASE_TASK, ORMMixin): ) return + if self.state not in TaskState.has_started(): + self.mark_failed( + Error(code=ErrorCode.TASK_FAILED, errors=["task never started"]) + ) + self.set_state(TaskState.stopping) def mark_failed( diff --git a/src/api-service/__app__/timer_tasks/__init__.py b/src/api-service/__app__/timer_tasks/__init__.py index 92452a2d1..aa3f6bcc2 100644 --- a/src/api-service/__app__/timer_tasks/__init__.py +++ b/src/api-service/__app__/timer_tasks/__init__.py @@ -19,7 +19,7 @@ def main(mytimer: func.TimerRequest, dashboard: func.Out[str]) -> None: # noqa: expired_tasks = Task.search_expired() for task in expired_tasks: logging.info("stopping expired task: %s", task.job_id) - task.stopping() + task.mark_stopping() expired_jobs = Job.search_expired() for job in expired_jobs: