在Ubuntu上安装Supervisor 监听laravel/lumen队列消息
sudo apt-get install supervisor
主管配置文件通常存储在目录中。在此目录中,可以创建任意数量的配置文件,这些文件指导主管如何监视您的过程。例如,让我们创建一个启动并监视过程的文件
在/etc/supervisor/conf.d目录下创建
laravel-worker.conf
编辑 laravel-worker.conf (sudo vim laravel-worker.conf)
[program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /这里写着你的项目目录/artisan queue:work sqs(这是你的队列驱动,根据你在.env文件中配置的QUEUE_DRIVER参数,我是QUEUE_DRIVER=database,database驱动) --sleep=3 --tries=3 --daemon autostart=true autorestart=true user=填写你的服务器登录用户 numprocs=8 redirect_stderr=true stdout_logfile=/你想存放文件的目录/worker.log 要给写入的权限
创建配置文件后,您可以使用以下命令更新Supervisor配置并启动过程:
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start laravel-worker:*
这里我遇见一个问题 全部都启动失败:
于是我去查看了刚刚配置好的错误日志文件
我发现是因为我原封不动的把文档例子复制过来了 没有修改成我的项目的路径
修改路径之后再次启动
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start laravel-worker:*
这次没有报错
sudo supervisorctl status
查看suprvisorctl运行情况,都在运行
这时候正常访问带有推送队列任务的接口,通过查看job表可以看到队列任务,过一会就会被执行
文档地址:https://laravel.com/docs/5.1/queues#supervisor-configuration