如何使用 supervisor 处理 Laravel 中的作业?

How to use supervisor to process jobs in Laravel?

我使用 laravel 队列来分派作业并安装主管来处理它们。 Supervisor 进程正在运行,它们正在 运行ning 但不处理我的工作!同时,如果我 运行 直接 php artisan queue:listen 作业正在执行! 我在 conf.d 中创建了队列工作者,但仍然无法正常工作。

sudo apt-get install supervisor
cd /etc/supervisor/conf.d
vi laravel-worker.conf
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/bin/php /var/www/html/laravel/artisan queue:work database --sleep=3 --tries=3
autostart=true
autorestart=true
user=root
numprocs=5
redirect_stderr=true
stdout_logfile=/var/www/html/laravel/storage/logs/worker.log

然后:wq

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-worker.conf

有关详细信息,您可以查看文档 https://laravel.com/docs/6.x/queues#supervisor-configuration

对于 command=/usr/bin/php /var/www/html/laravel/artisan queue:work database --sleep=3stdout_logfile=/var/www/html/laravel/storage/logs/worker.log 行,将 /var/www/html/laravel 替换为您的项目路径