在线考试系统-维护异步守护进程

今日完成任务

  由于最近一直在参加大一通识的培训,所有进度有点缓慢。抽时间把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的。

系统截图

 

 

 

 

遇到问题

配置后不起作用,一般是根据报错信息就可以解决

解决方案

都是大家遇到的错误,百度就可以解决。

明天继续加油。。。。

项目的燃尽图

 

posted @ 2020-08-07 22:34  sofic  阅读(111)  评论(0编辑  收藏  举报