今日完成任务
由于最近一直在参加大一通识的培训,所有进度有点缓慢。抽时间把laravel-redis的队列配置了一个守护进程。这样redis的消费队列进程就会一直在后台运行。
安装Supervisor
Supervisor是Linux系统中常用的进程守护程序。如果队列进程queue:work
意外关闭,它会自动重启启动队列进程。在Ubuntu安装Supervisor 非常简单:
sudo apt-get install supervisor
配置Supervisor
Supervisor配置文件通常存放在/etc/supervisor/conf.d
目录,在该目录中,可以创建多个配置文件指示Supervisor如何监视进程,例如,让我们创建一个开启并监视queue:work
进程的laravel-worker.conf
文件:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /您自己的项目根目录/artisan queue:work sqs --sleep=3 --tries=3
autostart=true
autorestart=true
user=root //用户 一般root就行
numprocs=8
redirect_stderr=true
stdout_logfile=日志信息存放文件 自己建一个路径写正确就可以了
在本例中,numprocs
指令让Supervisor运行8个queue:work
进程并监视它们,如果失败的话自动重启。配置文件创建好了之后,可以使用如下命令更新Supervisor配置并开启进程:
启动Supervisor
当你成功创建配置文件后,你需要刷新Supervisor 的配置信息:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-worker:*
这样下来,守护进程就配置完成了。其实这个地方还有多线程的概念在里面。思路还是蛮不错的。一些用PHP做接口的。消息队列这块很多公司还是比较喜欢使用redis的。
系统截图
遇到问题
配置后不起作用,一般是根据报错信息就可以解决
解决方案
都是大家遇到的错误,百度就可以解决。
明天继续加油。。。。