Рубрики
Uncategorized

Представляем laravel horizon

Автор оригинала: David Wong.

Статья была переслана из профессионального сообщества разработчиков laravel. Оригинальная ссылка: https://learnku.com/laravel/t

Сегодня я с гордостью объявляю о laravel horizon, которая предоставляет прекрасную панель мониторинга и управляемую кодом систему конфигурации для очередей laravel redis.

В дополнение к новой системе конфигурации, управляемой кодом, horizon также имеет красивый пользовательский интерфейс панели мониторинга Это полностью открытый исходный код и бесплатный для всего сообщества laravel. Мы выпустим бета-версию завтра , я надеюсь, вам понравится.

Примечание переводчика: по состоянию на октябрь 2019 года horizon выпустила версию 3.4.1

Панель мониторинга horizon – это красивое одностраничное приложение Vue, доступ к которому можно получить с помощью простого композитора, требующего установки laravel/horizon непосредственно в существующее приложение. Он обеспечивает представление в режиме реального времени о рабочей нагрузке очереди, последних заданиях, неудачных заданиях, повторных попытках выполнения заданий, показателях пропускной способности и времени выполнения, а также количестве процессов. примите Horizon:: auth Зарегистрированные простые обратные вызовы контролируют аутентификацию панели мониторинга, чтобы у вас был полный контроль над доступом к панели мониторинга.

Horizon-это отличный новый способ настройки очередей laravel. Подобно планировщику laravel, все работники очереди могут быть настроены с помощью кода:

Наличие этой конфигурации в вашем коде означает, что все это находится под управлением исходного кода, что облегчает совместную работу вашей команды. оставайтесь конфигурация/горизонт. php В файле мы настраиваем количество процессов, которые будут созданы, очереди, которые будут обработаны, время ожидания очереди и процессы, которые будут переданы в очередь:работа Любые другие настройки для команды artisan.

Затем, чтобы запустить всех работников очереди, вам нужна простая команда: php artisan horizon . Никаких других параметров командной строки не требуется. Эта команда считывает конфигурацию horizon и настраивает все необходимые рабочие процессы.

После установки и развертывания horizon в рабочей среде вы можете изменить конфигурацию всего работника очереди, изменив файл конфигурации и повторно развернув его.

Horizon предоставляет понятный и подробный интерфейс для проверки и повторения неудачных задач (да, мы это делаем). Вы можете просмотреть трассировку стека исключений, тег и запись о последних повторных попытках для этой задачи. Здорово показывать подробную информацию о неудачных задачах прямо на странице. Поскольку повторная попытка связана с неудачной исходной задачей, вам больше не нужно слепо пытаться ввести в консоли очередь:повторите попытку И определите, завершилась ли его повторная попытка успешно или снова не удалась:

Horizon позволяет назначать теги задачам, включая электронную почтуТрансляцииУведомления и Слушателей в очереди . На самом деле horizon разумно помечает большинство задач на основе модели красноречивости, прикрепленной к очереди.

Вы можете легко искать задачи очереди по этим тегам, чтобы просматривать конкретные задачи клиентов или другие задачи очереди в программе. Эта функция позволяет быстро сосредоточиться на клиентах с высокой стоимостью или находить неудачные задачи для клиентов, которые только что отправили задание в службу поддержки:

Horizon может автоматически балансировать процессы очереди в очереди в соответствии с рабочей нагрузкой очереди. Например, если по умолчанию Очередь пуста, но уведомления Если очередь заполнена задачами очереди, horizon может автоматически уведомления Задачи, назначенные по умолчанию Очередям, чтобы быстро решить эти задачи.

Когда очередь заполняется, horizon гарантирует, что задачи будут справедливо распределены по всем очередям.

Horizon предоставляет графики пропускной способности и среднего времени безотказной работы, которые позволяют просматривать тенденции пропускной способности и времени безотказной работы для одной задачи или для всей очереди. Эти моментальные снимки индекса используют команду horizon:snapshot , которую можно настроить на выполнение один раз в минуту с помощью встроенного планирования задач laravel. Это позволяет быстро обнаружить снижение производительности после развертывания.

Когда одна из ваших очередей достигает определенной загрузки, horizon отправляет как slack, так и SMS-уведомления. Вы можете легко настроить пороговое значение времени ожидания, чтобы определить, когда отправляются уведомления. Это означает, что вы всегда знаете, когда очередь нуждается в дополнительной обработке. При получении уведомления конфигурация horizon, управляемая кодом, позволяет быстро вносить изменения в конфигурацию, чтобы добавить дополнительную обработку.

Я хотел бы поблагодарить Мохаммеда Саида, Дэвида Хемпхилла и Стива Шогера, в частности, за их вклад в разработку и разработку Horizon. Стив разработал пользовательский интерфейс, Дэвид Хемпхилл реализовал его как приложение Vue, а Мохаммед подключил интерфейс к серверной части horizon, которую я реализовал.