zoukankan      html  css  js  c++  java
  • 配置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里往队列里添加任务即可了

  • 相关阅读:
    tp5.1 order by limit 分页时会出现数据重复,丢数据
    使用composer 出现Could not find a matching version of package xxx
    tp5.1 使用 tcpdf库 生成pdf
    Java调用FTP
    Quartz的org.quartz.jobStore.misfireThreshold属性理解
    第3章:WinDbg 内核调试
    第38章: PE32+
    第37章: x64处理器
    第36章:64位计算
    django框架
  • 原文地址:https://www.cnblogs.com/hxyphp/p/6279251.html
Copyright © 2011-2022 走看看