Настройка периода отправления данных
Модуль "Данные для КПЭ" позволяет настроить отправление данных в систему КОМЭКС-BI.
Для работы необходимо указать адрес системы, куда будут отправляться данные. Список задач будет автоматически сформирован при первом входе в форму.
При смене списка задач будет произведено автоматическое добавление новой задачи в список
Каждой задаче можно указать временной отрезок, в котором будет осуществляться попытка отправлять данные. Некоторые тяжелые задачи лучше отправлять вечером или ночью, чтобы не нагружать базу данных и сервер приложения.
Задача в указанный отрезок времени будет отправлена только одина раз. Если не указан временной отрезок, то задача будет отправлена один раз в день.
Если задачи нужно отправлять на протяжении всего отрезка времени, то необходимо указать параметр период. Данный параметр показывает через сколько минут будет повторная отправка задачи.
Каждое выполнение задачи логируется. Данные в рамках задачи разделяется на пакеты с максимальным размером в 1000 записей. На каждую задачу может быть неограниченное количество пакетов. Каждый пакет логируется. Если один из пакетов не отправлен, то вся задача считается проваленной.
При просмотре логов можно открыть форму, в которой будет показан ответы сервера как при успешном выполнении, так и при ошибках.
После успешного выполнения задачи будет обновлена колонка "Последнее отправление". В момент запуска задачи повторно будут выбраны данные от времени последнего отправления для более оптимального обмена с КОМЭКС-BI.
Запуск задач для сбора данных
Выполнение задач происходит в фоновом режиме с использованием очередей. Для выполнения всех задач необходимо запустить команду php artisan queue:work
. При возникновении ошибки программу надо запускать повторно. Рекомендация запускать обработку очередей через supervisor (https://laravel.ru/docs/v5/queues#supervisor)
Кроме выполнения задач необходимо настроить запуск планировщика Laravel. Для этого необходимо добавить вызов artisan команды schedule:run
Пример для Cron
* * * * * php /path/to/artisan schedule:run >>/dev/null 2>&1
Планировщик нужен для запуска задач по расписанию, с учетом периодов в настройках задач.