• 配置supervisor 让laraver的队列实现守护进程


    1,安装: #brew install supervisor

     默认会安装在/usr/local/Cellar/supervisor目录

    2,在etc下面新建supervisor.conf 文件,复制下面的代码(部分需要自行修改)

    [inet_http_server]

    port = 127.0.0.1:9001

    username = harris

    password = 123456

     

    [unix_http_server]

    file = /tmp/supervisor.sock

    chmod = 0700

     

    [supervisord]

    logfile = /opt/logs/supervisor/supervisord.log

    logfile_maxbytes = 50MB

    logfile_backups=10

    loglevel = info

    pidfile = /tmp/supervisord.pid

    nodaemon = False

    minfds = 1024

    minprocs = 200

    umask = 022

    identifier = supervisor

    directory = /tmp

    nocleanup = true

    childlogdir = /tmp

     

    [supervisorctl]

    serverurl = unix:///tmp/supervisor.sock

     

    [rpcinterface:supervisor]

    supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

     

     

    [program:laravelworker]

    process_name = %(program_name)s_%(process_num)02d

    command = /usr/local/bin/artisan.sh queue:work --sleep=3 --tries=3

    autostart = true

    autorestart = true

    user = phpadmin

    numprocs = 8

    redirect_stderr = true

    stdout_logfile = /opt/logs/supervisor/worker.log

     

    注意:

    1,上面的几个日志目录必须存在,可以修改位自己的目录

    2,program里的user是系统的一个用户名,不然会报错

    3,/usr/local/bin/artisan.sh queue:work --sleep=3 --tries=3  这行代码是指向laravel的队列命令

    4,artisan.sh脚本需要自己实现,大家的php目录,项目目录都不一样,但都是实现cd到项目的目录,php artisan $1 这个功能即可

    3,启动服务 #supervisord -c /etc/supervisord.conf

    4,修改了配置,重新读取配置:

    #supervisorctl update

    最后在laravel里往队列里添加任务即可了

  • 相关阅读:
    System path '/Users/hxy/Library/Caches/PyCharm2018.2' is invalid.
    HBase安装指南
    centos6.8下hadoop3.1.1完全分布式安装指南
    PHP服务化搭建之nginx动静分离实战
    Laravel6实现第三方 微信登录
    laravel开发大型电商网站之异常设计思路分析
    Laravel实现大型商城网站之用户注册短信发送项目实战功能开发
    Redis 实现美团的外卖派单系统“附近的人”筛选实战原理分析
    Navicat远程连接MySQL8,必知防坑策略
    laravel大量填充项目测试数据的正确方法
  • 原文地址:https://www.cnblogs.com/hxyphp/p/6279251.html
Copyright © 2020-2023  润新知