美文网首页我爱编程
Laravel —— 队列配置 Supervisor

Laravel —— 队列配置 Supervisor

作者: 徐猿猿 | 来源:发表于2018-04-10 14:20 被阅读0次

    安装Supervisor

    Supervisor 是 Linux 系统中常用的进程守护程序。如果队列进程 queue:work 意外关闭,它会自动重启启动队列进程。在 Ubuntu 安装Supervisor 非常简单:

    sudo apt-get install supervisor

    注:如果自己配置 Supervisor 有困难,可以考虑使用 Laravel Forge,它会为 Laravel 项目自动安装并配置 Supervisor。

    配置Supervisor

    Supervisor 配置文件通常存放在 /etc/supervisor/conf.d 目录,在该目录中,可以创建多个配置文件指示 Supervisor 如何监视进程,例如,让我们创建一个开启并监视queue:work 进程的 laravel-worker.conf 文件:

    注意:laravel-worker必须和文件名一致
    [program:laravel-worker]
    process_name=%(program_name)s_%(process_num)02d
    command=php /home/forge/app.com/artisan queue:work sqs --sleep=3 --tries=3
    autostart=true
    autorestart=true
    user=forge
    numprocs=8
    redirect_stderr=true
    stdout_logfile=/home/forge/app.com/worker.log

    在本例中:
    numprocs :指令让 Supervisor 运行 8 个
    user:指服务器的用户名
    queue:work :进程并监视它们,如果失败的话自动重启。当然,你需要修改 queue:work sqs 的 command 指令来映射你的队列连接。
    [program:laravel-worker]:这里新手被坑了几个小时,类似于分组,刚开始我有几个队列放一起,[program:laravel-worker]都一样,结果都不执行,后来把[program:laravel-worker]分组里面的laravel-worker换成单前文件名,xxxx 不带conf后缀,
    直接 sudo supervisorctl update

    启动Supervisor

    文档内容:
    当你成功创建配置文件后,你需要刷新 Supervisor 的配置信息并使用如下命令启动进程:
    sudo supervisorctl reread
    sudo supervisorctl update
    sudo supervisorctl start laravel-worker:*

    相关文章

      网友评论

        本文标题:Laravel —— 队列配置 Supervisor

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