====== Изменения очереди в 3.13.04 ====== \\ До изменения очереди, модуль загружал в память 1000 заданий и удалял их из таблицы, после чего приступал к выполнению заданий загруженных в память. \\ Минусы прошлого модуля очереди: * Так как очередь удаляла задания сразу после их загрузки, в случаи отключения света или иного сбоя все загруженные задания терялись * Не было проверки успешно/неуспешно выполнилось задание \\ Основные изменения нового модуля очереди: * Во время работы модуля, повторный запуск блокируется * Модуль загружает 1000 заданий из таблицы но не удаляет их * В случаи успеха, задание удаляется из таблицы * В случаи ошибки, в таблице у задачи увеличивается счетчик ошибок * Задания с счетчиком ошибок больше 10 игнорируются * У заданий с счетчиком ошибок больше 0 пониженный приоритет (выполняются самыми последними) \\ Немного описания работы обработчика ошибок очереди: \\ Каждое неуспешное выполнение задания увеличивает время следующего задания на 5 минут. К примеру: \\ В 12:00 задание выполнилось неуспешно, следующий запуск задания будет в 12:05. Если задание снова выполнилось неуспешно, следующий запуск будет в 12:15... потом в 12:30, 12:50 \\ Время следующего запуска выставляется как: текущее время в секундах + (300 * кол-во ошибок) \\ В результате все 10 попыток примерно займут около 4 часов 30 минут. \\ Стоит отметить отдельно что если за все 10 попыток задание выполнилось неуспешно, оно не удалится из очереди но будет игнорироваться. \\ Сделано это для того, что бы в случаи если решение проблемы заняло больше 4 часов, вы могли самостоятельно обновить счетчик ошибок у заданий в очереди для повторного выполнения их системой.