Fix print queue not starting when printer state is FAILED

The print scheduler only considered IDLE, FINISH, and unknown as valid
idle states. This caused the queue to not process items when the printer
was in FAILED state (e.g., after an aborted print).

Added FAILED to the list of idle states since a failed print means the
printer is ready to accept a new print job.
This commit is contained in:
maziggy
2026-01-27 15:16:18 +01:00
parent 4ea7f7c4aa
commit 84fe13dd07
+3 -2
View File
@@ -126,8 +126,9 @@ class PrintScheduler:
if not state:
return False
# Printer is idle if state is IDLE or FINISH
return state.state in ("IDLE", "FINISH", "unknown")
# Printer is idle if state is IDLE, FINISH, FAILED, or unknown
# FAILED means previous print failed, printer is ready for new print
return state.state in ("IDLE", "FINISH", "FAILED", "unknown")
async def _get_smart_plug(self, db: AsyncSession, printer_id: int) -> SmartPlug | None:
"""Get the smart plug associated with a printer."""