Процесс остановлен после записи результата и до подтверждения. Повторный запуск сохраняет все 12 заданий и три исходных файла.
О проекте
Цель
Продолжить очередь после остановки обработчика, сохранив готовые результаты и исходные файлы.
Задача
После сбоя в очереди одновременно остаются завершённые задания, ожидающие задания и просроченные захваты. Без проверки результата повтор может выполнить уже законченную работу.
Решение
Разделил результат и подтверждение задания. Восстановление сначала ищет сохранённый результат, затем возвращает в работу оставшиеся задания с просроченным захватом.
Результат
После восстановления завершены все 12 заданий с 12 уникальными результатами. Четыре ранее готовых результата и три исходных файла сохранены.
Что передано заказчику
- Стенд восстановления.py
- Фактический прогон.json
- Очередь.json
- Файлы.json
Инструменты и подход
Инструменты
Навыки
Содержание 4
Открыть работу
Сохранённый результат важнее статуса захвата
Пятое задание успевает записать результат, но не подтвердить завершение. Новый процесс находит запись и восстанавливает подтверждение. Только задания без результата идут на повторную обработку.
Проверка касается и файлов
Прогон сравнивает состояние очереди до и после, количество уникальных результатов и SHA-256 трёх исходных файлов. В журнале виден аварийный выход и последующее восстановление. Все входные данные и программа приложены.
Файлы результата
Вклад и команда
Подготовил очередь, остановил рабочий процесс после сохранения пятого результата, запустил восстановление и сравнил состояние и хеши файлов.
Загружаем комментарии…