Bugfix: Harden against lost jobs
This commit is contained in:
parent
dd6f6ac59f
commit
1807eb75dd
1 changed files with 7 additions and 5 deletions
|
@ -12,6 +12,7 @@ import logging
|
|||
from pathlib import Path
|
||||
from typing import Callable
|
||||
from urllib import parse as urlparse
|
||||
from pprint import pformat
|
||||
|
||||
from cherrypy.process.plugins import Monitor
|
||||
from fastmail import FastMailSMTP
|
||||
|
@ -217,10 +218,7 @@ def pull_jobs(app: App, db: Db) -> None:
|
|||
except HTTPError:
|
||||
printer_state = {"disconnected": True, "error": True}
|
||||
|
||||
if printer_state.get("printing"):
|
||||
pass
|
||||
|
||||
elif job_state.get("progress", {}).get("completion", 0.0) == 100.0:
|
||||
if job_state.get("progress", {}).get("completion", 0.0) == 100.0:
|
||||
log.info(f"Job {job.id} has succeeded")
|
||||
db.finish_job(jid=job.id, state="success")
|
||||
|
||||
|
@ -232,10 +230,14 @@ def pull_jobs(app: App, db: Db) -> None:
|
|||
log.info(f"Job {job.id} has been acknowledged as cancelled")
|
||||
db.finish_job(jid=job.id, state="cancelled")
|
||||
|
||||
if printer_state.get("printing"):
|
||||
pass
|
||||
|
||||
else:
|
||||
log.warn(
|
||||
f"Job {job.id} is in a weird state {job_state.get('progress')!r} {printer_state!r}"
|
||||
f"Job {job.id} is in a weird state; assuming error\n{pformat(job_state.get('progress'))}\n{pformat(printer_state)}"
|
||||
)
|
||||
db.finish_job(jid=job.id, state="failed")
|
||||
|
||||
except TimeoutError:
|
||||
pass
|
||||
|
|
Loading…
Reference in a new issue