Laravel队列侦听服务

时间:2018-03-22 06:58:09

标签: php laravel laravel-5.3

我创建了带通知队列的laravel应用程序。首先我在共享主机上传文件,并使用客户端putty手动运行队列服务。现在我购买了VPS Linux服务器并更新了此主机中的文件。我需要知道如何在不使用SSH的情况下处理此服务器上的队列进程。此外,我在此队列服务中遇到任何问题或超时。它应该需要自动重启。

php artisan queue:listen

此命令需要在我的VPS中作为服务运行,而不会对我的域(example.com)产生任何中断。

2 个答案:

答案 0 :(得分:0)

Yess此命令需要作为服务运行。

有多种方法可以连续运行

 php artisan queue:listen

安装hup

sudo apt-get install hup

然后运行以下命令

hup php artisan queue:listen //it will run your command in the background

您也可以使用主管

将其配置为运行/etc/supervisor/conf.d中的命令或通过creatign新配置文件

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

通过主管,您可以很好地控制进程数量

答案 1 :(得分:0)

关于你的错误(没有这样的小组),有两种可能性:

1。)很明显,我想你已经明白了。试图彻底......发布的配置laravel levaral被命名为“laravel-worker”,而不是“queue-worker”

2。)配置文件存在问题:

2.1)打开/etc/supervisord.conf

2.2)转到文件末尾,显示块:

;[include]
;files = relative/directory/*.ini
files = /etc/supervisor/conf.d/*.conf

2.3)删除;在[include]之前。

2.4)重读和更新主管:

supervisorctl reread
supervisorctl update

2.5)现在尝试启动它:

supervisorctl start queue-worker:*