资讯专栏INFORMATION COLUMN

laravel 队列实例(二)

W4n9Hu1 / 3361人阅读

摘要:导语代码部分完成后,接下来是配置,用来进程守护。当队列意外停止后,可以重启进程,保证队列的稳定运行。参考资料配置安装配置使用。

导语

代码部分完成后,接下来是配置 Supervisor,用来进程守护。当队列意外停止后,Supervisor 可以重启进程,保证队列的稳定运行。

安装以及配置

依次执行 yum install python-setuptoolseasy_install supervisor 进行安装

创建 /etc/supervisor/ 目录,并生成默认配置文件

参考 Homestead 中 supervisor.conf 文件进行修改,最终如下

[unix_http_server]
file=/var/run/supervisor.sock   ; (the path to the socket file)
chmod=0700                 ; socket file mode (default 0700)

;[inet_http_server]         ; inet (TCP) server disabled by default
;port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
;username=user              ; (default is no username (open server))
;password=123               ; (default is no password (open server))

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB        ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10           ; (num of main logfile rotation backups;default 10)
loglevel=info                ; (log level;default info; others: debug,warn,trace)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL  for a unix socket

[include]
files = /etc/supervisor/conf.d/*.conf

创建 /etc/supervisor/conf.d 目录,配置 laravel-worker.conf 文件如下

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /usr/local/nginx/html/myLaravel/artisan queue:work
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/log/supervisor/laravel-worker.log
启动

supervisord -c /etc/supervisor/supervisor.conf 启动服务

依次执行 supervisorctl rereadsupervisorctl updatesupervisorctl start laravel-worker:*

一个插曲,有报错 error: , [Errno 113] No route to host: file: /usr/lib64/python2.7/socket.py line: 571,最终的解决办法是带上配置文件 supervisorctl -c /etc/supervisor/supervisor.conf reread

查看一下状态

状态正常,测试结果也是正常的。


参考资料:配置 superviso、supervisor 安装配置使用。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31222.html

相关文章

  • laravel/lumen 使用 redis队列

    摘要:配置项用于配置失败队列任务存放的数据库及数据表。要使用队列驱动,需要在配置文件中配置数据库连接。如果应用使用了,那么可以使用时间或并发来控制队列任务。你可以使用命令运行这个队列进程。如果队列进程意外关闭,它会自动重启启动队列进程。 一、概述 在Web开发中,我们经常会遇到需要批量处理任务的场景,比如群发邮件、秒杀资格获取等,我们将这些耗时或者高并发的操作放到队列中异步执行可以有效缓解系...

    mengbo 评论0 收藏0
  • 剖析Laravel队列系统--Worker

    摘要:一旦这一切完成,方法会运行在类属性在命令构造后设置容器解析实例,在中我们设置了将使用的缓存驱动,我们也根据命令来决定我们调用什么方法。作业只在以上起效在上也无效处理作业方法调用触发事件触发事件。 译文GitHub https://github.com/yuansir/diving-laravel-zh 原文链接https://divinglaravel.com/queue-system...

    CollinPeng 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<