Просмотр исходного кода

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.
maziggy 4 месяцев назад
Родитель
Сommit
84fe13dd07
1 измененных файлов с 3 добавлено и 2 удалено
  1. 3 2
      backend/app/services/print_scheduler.py

+ 3 - 2
backend/app/services/print_scheduler.py

@@ -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."""