РАБОТА / МАТЕРИАЛЫ

Очередь после остановки обработчика

Процесс остановлен после записи результата и до подтверждения. Повторный запуск сохраняет все 12 заданий и три исходных файла.

12уникальных результатов
73код намеренной остановки
PASSпроверки сохранности

Хронология выполненного прогона

ШагСобытие
1Loaded 12 jobs: 4 completed, 6 queued, 2 expired leases
2job-05 result committed; worker exited 73 before acknowledgement
3job-05: existing result found; acknowledgement restored

Состояния до и после

ЗаданиеДоПослеПопыток
job-01completedcompleted1
job-02completedcompleted1
job-03completedcompleted1
job-04completedcompleted1
job-05queuedcompleted1
job-06queuedcompleted1
job-07queuedcompleted1
job-08queuedcompleted1
job-09queuedcompleted1
job-10queuedcompleted1
job-11runningcompleted2
job-12runningcompleted2

Запустите python3 recovery.py queue рядом с исходными JSON. Скрипт создаёт временную папку, выполняет отдельный процесс с намеренной остановкой, открывает базу заново и проверяет результат. После проверки временная папка удаляется.

Исполняемый стенд PythonФактический журналИсходная очередьИсходные файлы и хэши