教你用supervisor管理laravel常驻任务(队列等)配置
2022-11-27 21:09:48
216
{{single.collect_count}}

下面由Laravel教程栏目给大家介绍用supervisor管理laravel常驻任务(队列等)配置的方法,希望对需要的朋友有所帮助!

Laravel 9 保姆级视频教程,想学不会都难!进入学习

生产环境中需要一个可靠的进程管理工具来帮助laravel保持任务进程的状态,supervisor是非常广泛的选择

一. 安装supervisor

ubuntu环境下:

apt install supervisor
登录后复制

二. 配置supervisor

配置文件有两个位置:
主配置文件:/etc/supervisor/supervisord.conf 通常用于配置全局通用的配置
个性化配置文件:/etc/supervisor/conf.d/*.conf 通常用于配置单个进程组或者进程的个性化配置,类似于nginx配置时把多个server单独放在独立的配置文件里
supervisor的配置说明文档:https://www.rddoc.com/doc/Supervisor/3.3.1/zh/configuration/#supervisord-section-settings

三.举个例子:

// 在/etc/supervisor/conf.d/路径下建立一个 foo.conf 文件,存放一个组名为foo的配置[group:foo] // 建立一个进程组programs=bar // 进程组包括的进程,多个进程用逗号隔开[program:bar] // 建立一个进程process_name=%(program_name)s_%(process_num)02d // 启动的进程名 : bar_00 bar_01 ...command=php /data/www/laravel-path/artisan queue:work --sleep=3 --tries=3 // 执行的进程命令autostart=true // 随supervisor启动自动启动autorestart=trueuser=deploy // 执行进程的用户numprocs=8 // 进程数redirect_stderr=truestdout_logfile=/data/logs/foo.log
登录后复制

启动supervisor: supervisord -c /etc/supervisord.conf
进入supervisor操作台:supervisorctl

supervisorctl> reread // 读取新增加的配置supervisorctl> updatesupervisorctl> start foo:* //启动foo组下的所有进程
登录后复制

以上就是教你用supervisor管理laravel常驻任务(队列等)配置的详细内容,更多请关注php中文网其它相关文章!

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}