美文网首页
laravel 队列实例(二)

laravel 队列实例(二)

作者: haoyq | 来源:发表于2019-03-20 22:01 被阅读0次

导语

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

安装以及配置

  1. 依次执行 yum install python-setuptoolseasy_install supervisor 进行安装
  1. 创建 /etc/supervisor/ 目录,并生成默认配置文件
配置文件
  1. 参考 Homesteadsupervisor.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
  1. 创建 /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

启动

  1. supervisord -c /etc/supervisor/supervisor.conf 启动服务
  2. 依次执行 supervisorctl rereadsupervisorctl updatesupervisorctl start laravel-worker:*
    一个插曲,有报错 error: <class 'socket.error'>, [Errno 113] No route to host: file: /usr/lib64/python2.7/socket.py line: 571,最终的解决办法是带上配置文件 supervisorctl -c /etc/supervisor/supervisor.conf reread
  3. 查看一下状态
查看状态

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


参考资料:配置 supervisosupervisor 安装配置使用

相关文章

  • laravel 队列实例(二)

    导语 代码部分完成后,接下来是配置 Supervisor,用来进程守护。当队列意外停止后,Supervisor 可...

  • laravel 队列实例(一)

    导语 之前在写事件/监听器的实例,数据都是直接入库的,实际这一步可以放到队列中去执行。laravel 队列有多种驱...

  • laravel使用队列监控 Horizon

    继 laravel使用队列 ,本篇介绍更好的队列监控工具--Horizon Horizon 是 Laravel 生...

  • laravel 队列重调(自调)问题如何解决

    laravel队列重新调用、自我调用,再次调用 前言 laravel使用redis队列,跟rabbitmq等专业消...

  • Laravel 文件系统及队列处理

    队列 Laravel 队列为不同的后台队列服务提供统一的 API,这些队列介质可以是 Beanstalk、Redi...

  • Laravel队列

    步骤: 驱动选择在.env环境中修改QUEUE_DRIVER=database来实现 定义任务 分发任务 启动队列...

  • Laravel 队列

    队列使用步骤1.迁移队列需要的数据表2.编写任务类3.推送任务到队列4.运行队列监听器5.处理失败的任务 使用1....

  • laravel 队列

    什么是队列,队列用来干什么的这里不再介绍! 这里使用数据库作为驱动,php artisan queue:table...

  • laravel 队列

    指导文章http://laravelacademy.org/post/6922.html就是官方的中文翻译,感谢这...

  • laravel 队列

    windows 中使用 horizon, 原文见 github, learnku 在 .env 中将 QUEUE_...

网友评论

      本文标题:laravel 队列实例(二)

      本文链接:https://www.haomeiwen.com/subject/jpqxvqtx.html