INNER CODE UNIT · Python
running_cutoff
iLearn-Lab/NovelClaw · apps/multiagent/local_web_portal/app/main.py:106
running_cutoff = now - timedelta(seconds=max(60, settings.startup_recovery_seconds))
queued_cutoff = now - timedelta(seconds=max(60, settings.stale_queued_seconds))
stale_running_jobs = db.execute(
select(GenerationJob).where(
GenerationJob.status == "running",
GenerationJob.updated_at < running_cutoff,
)
).scalars().all()
stale_queued_jobs = db.execute(
select(GenerationJob).where(
GenerationJob.status == "queued",
GenerationJob.created_at < queued_cutoff,
)
).scalars().all()
for job in stale_running_jobs:
job.status = "failed"