Функции:
Некоторые важные особенности Laravel horizon упомянуты ниже:
- Это пакет с открытым исходным кодом
- Он показывает все очереди и информацию о вакансиях с помощью красивой панели инструментов.
- Он предоставляет информацию об ожидающих заданиях, выполненных заданиях и невыполненных заданиях.
- Он предоставляет информацию об очередях и вакансиях с использованием показателей.
- Он контролирует задания с помощью тегов.
Команды горизонта:
Некоторые команды горизонта упомянуты ниже для управления бегущим горизонтом.
Следующая команда используется для приостановки процесса горизонта.
$ php artisan horizon: паузаСледующая команда используется для возобновления приостановленного процесса горизонта.
$ php artisan horizon: продолжитьСледующая команда используется для проверки текущего статуса процесса горизонта.
$ php artisan horizon: статусСледующая команда используется для завершения процесса горизонта. Горизонт прекратится после выполнения всех текущих заданий.
$ php artisan horizon: завершитьУстановите Horizon:
Предпосылки:
Вы должны установить новый проект с использованием последней версии Laravel, прежде чем начинать шаги по установке горизонта. Шаги показаны здесь с использованием Laravel 8.Икс.
Процесс установки:
Выполните следующую команду из терминала, чтобы установить пакет горизонта с помощью композитора.
$ composer требует laravel / horizonПосле установки Horizon опубликуйте его ресурсы, используя команду мастера Horizon: install:
$ php artisan horizon: установитьпредис в этом руководстве используется пакет predis в качестве клиента Redis . Выполните следующую команду, чтобы установить пакет predis с помощью композитора.
$ composer require predis / predisоткрыто база данных.php файл, который находится в конфигурация папку и установите значение клиент как показано ниже.
'клиент' => env ('REDIS_CLIENT', 'предисловие'),Выполните следующую команду, чтобы очистить кеш перед запуском горизонта.
$ php artisan cache: очиститьВыполните следующую команду, чтобы начать горизонт.
$ php ремесленник горизонтСледующий вывод появится, если горизонт установлен и работает правильно.
Конфигурация на основе кода:
Это дает возможность легко сотрудничать с членами команды проекта при работе с очередями. С помощью команды queue: work artisan можно установить различные типы настроек. конфигурация / горизонт.файл конфигурации php используется для установки различных конфигураций. Открыть горизонт.php файл, чтобы проверить настройки по умолчанию. В Конфигурация работника очереди раздел этого файла содержит следующую настройку.
'defaults' => ['supervisor-1' => [
'соединение' => 'Redis',
'queue' => ['по умолчанию'],
'баланс' => 'авто',
'maxProcesses' => 1,
'пытается' => 1,
'хороший' => 0,
],
],
'environment' => [
'production' => [
'supervisor-1' => [
'maxProcesses' => 10,
'balanceMaxShift' => 1,
'balanceCooldown' => 3,
],
],
'local' => [
'supervisor-1' => [
'maxProcesses' => 3,
],
],
],
Здесь значение баланса может быть просто или же авто или же ноль. Когда просто установлен для баланса, тогда процесс будет разделен между двумя очередями. Когда авто установлен для баланса, затем он балансирует работников очереди на основе оставшихся заданий и среднего времени ожидания. Если какая-либо очередь становится занятой, горизонт будет искать доступных рабочих и переводит их в очередь для быстрого выполнения задачи. Если для параметра баланса установлено значение null, то супервизор будет использовать один пул рабочих для обработки запущенных заданий. По умолчанию здесь определен один супервизор. Но можно назначить несколько супервизоров и конкретное соединение, очереди, механизм балансировки и т. Д. можно определить для каждого супервизора.
Если вы хотите проверить настройку по умолчанию Redis драйвер подключения, затем откройте файл config /очередь.php файл. В Redis раздел этого файла содержит следующую настройку.
'redis' => ['драйвер' => 'Redis',
'соединение' => 'по умолчанию',
'queue' => env ('REDIS_QUEUE', 'по умолчанию'),
'retry_after' => 90,
'block_for' => ноль,
],
Согласно настройке, если задание не назначено, статус очереди останется по умолчанию. Здесь значение retry_after указывает, что очередь перезапустится через 90 секунд. Вы можете увеличивать или уменьшать значения в зависимости от требований.
Откройте панель инструментов Horizon:
Запустите следующий URL-адрес в браузере, чтобы просмотреть различную информацию, связанную с очередями, на панели мониторинга Horizon.
http: // локальный: 8000 / горизонт /
Следующий вывод появится, если горизонт работает правильно. Выходные данные показывают, что горизонт сейчас активен, определены один супервизор и очередь по умолчанию, а задание еще не назначено.
Измените раздел по умолчанию горизонт.php файл со следующим кодом.
'defaults' => ['supervisor-1' => [
'соединение' => 'Redis',
'queue' => ['по умолчанию', 'электронная почта'],
'таймаут' => 30,
'сон' => 3,
'баланс' => 'авто',
'minProcesses' => 1,
'maxProcesses' => 10,
'пытается' => 1,
'хороший' => 0,
],
],
Вот еще одна очередь, электронное письмо добавлен, тайм-аут установлен на 30 секунд, спать установлено на 3 секунды, minПроцессы установлен на 1, а maxProcesses установлен на 10. Чтобы активировать эти настройки, вы должны остановить бегущий горизонт, очистить кеш конфигурации и снова запустить горизонт. Нажмите ctrl + c прекратить бегущий горизонт. Выполните следующие команды, чтобы очистить кеш конфигурации и снова запустить горизонт.
Конфигурация $ php artisan: кеш$ php ремесленник горизонт
Снова запустите следующий URL-адрес в браузере, чтобы проверить вывод на основе новой настройки.
http: // локальный: 8000 / горизонт /
Следующий вывод появится в браузере в зависимости от текущей настройки.
Заключение:
Процесс установки и способ запуска Horizon в основном освещены в этом руководстве. Вы должны создать задание и назначить его в очередь, чтобы знать подробные сведения об использовании горизонта, которые не рассматриваются в этой статье. Эта статья поможет пользователям Laravel установить горизонт и начать с ним работать.