есть ли командный менеджер для Laravel ремесленника - PullRequest
1 голос
/ 06 августа 2020

У меня несколько команд в моем laravel производственном приложении.

php artisan serve

php artisan queue:work

php artisan roulette:color

php artisan roulette:even

Я использую vpn с пользовательским хостом ubuntu

прямо сейчас я делаю 4 разных экрана для запуска этих команд который запускается вечно

, но иногда несколько cra sh не знаю, почему, и мне нужно снова найти, на каком экране произошел сбой, команда

Я ищу, есть ли какой-нибудь менеджер, который может управлять моим Команды легко

спасибо

Ответы [ 2 ]

1 голос
/ 06 августа 2020

вам не нужно создавать 4 разных экрана, просто запустите:

nohup php artisan queue:work --daemon &

, это предотвратит выход команды при выходе из системы. конечный амперсанд (&) вызывает запуск процесса в фоновом режиме, поэтому вы можете продолжать использовать оболочку и не ждать завершения скрипта.

вы можете запустить любую команду оболочки в фоновом режиме, добавив & до конца:

nohup php artisan serve &

Установка Supervisor

Supervisor - это монитор процессов для операционной системы Linux, который автоматически перезапустит ваш процесс queue:work в случае сбоя . Чтобы установить Supervisor в Ubuntu, вы можете использовать следующую команду:

sudo apt-get install supervisor

Настройка Supervisor

создать laravel-worker.conf в каталоге /etc/supervisor/conf.d:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/laravel-example/artisan queue:work sqs --sleep=3 --tries=3
autostart=true
autorestart=true
user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/var/www/laravel-example//storage/logs/supervisord.log
stopwaitsecs=3600

вы можете увидеть Supervisor: A Process Control System и Supervisor Configuration в Laravel do c для получения дополнительной информации

1 голос
/ 06 августа 2020

Supervisor - это монитор процесса для операционной системы Linux, который автоматически перезапускает ваш процесс queue:work в случае сбоя или сохраняет активную любую другую команду. Чтобы установить Supervisor в Ubuntu, вы можете использовать следующую команду: sudo apt-get install supervisor.

Настройка Supervisor

Файлы конфигурации Supervisor обычно хранятся в /etc/supervisor/conf.d каталог. В этом каталоге вы можете создать любое количество файлов конфигурации, которые сообщают супервизору, как следует контролировать ваши процессы. Например, давайте создадим файл laravel-worker.conf, который запускает и отслеживает процесс queue:work:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/path/to/you/app.com/artisan queue:work sqs --sleep=3 --tries=3
autostart=true
autorestart=true
user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/home/path/to/you/app.com/worker.log
stopwaitsecs=3600

В этом примере директива numprocs проинструктирует Supervisor запустить 8 queue:work процессов и контролировать все из них, автоматически перезагружая их в случае сбоя. Вы должны изменить часть queue:work sqs директивы command, чтобы отразить желаемое подключение к очереди.

Запуск супервизора

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

sudo supervisorctl reread

sudo supervisorctl update

sudo supervisorctl start laravel-worker:*

Для получения дополнительной информации о Supervisor обратитесь к документации Supervisor .

...