Очередь после остановки обработчика
Процесс остановлен после записи результата и до подтверждения. Повторный запуск сохраняет все 12 заданий и три исходных файла.
12уникальных результатов
73код намеренной остановки
PASSпроверки сохранности
Хронология выполненного прогона
| Шаг | Событие |
|---|---|
| 1 | Loaded 12 jobs: 4 completed, 6 queued, 2 expired leases |
| 2 | job-05 result committed; worker exited 73 before acknowledgement |
| 3 | job-05: existing result found; acknowledgement restored |
Состояния до и после
| Задание | До | После | Попыток |
|---|---|---|---|
| job-01 | completed | completed | 1 |
| job-02 | completed | completed | 1 |
| job-03 | completed | completed | 1 |
| job-04 | completed | completed | 1 |
| job-05 | queued | completed | 1 |
| job-06 | queued | completed | 1 |
| job-07 | queued | completed | 1 |
| job-08 | queued | completed | 1 |
| job-09 | queued | completed | 1 |
| job-10 | queued | completed | 1 |
| job-11 | running | completed | 2 |
| job-12 | running | completed | 2 |
Запустите python3 recovery.py queue рядом с исходными JSON. Скрипт создаёт временную папку, выполняет отдельный процесс с намеренной остановкой, открывает базу заново и проверяет результат. После проверки временная папка удаляется.