我创建了带通知队列的laravel应用程序。首先我在共享主机上传文件,并使用客户端putty手动运行队列服务。现在我购买了VPS Linux服务器并更新了此主机中的文件。我需要知道如何在不使用SSH的情况下处理此服务器上的队列进程。此外,我在此队列服务中遇到任何问题或超时。它应该需要自动重启。
php artisan queue:listen
此命令需要在我的VPS中作为服务运行,而不会对我的域(example.com)产生任何中断。
答案 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:*