建立于: 7年前 ( 更新: 7年前 )
前言
由於queue workers是一个长期运行的进程,所以我们会需要一个进程管理员supervisor来监控Linux系统上的process是否持续运作,例如:当queue:work运作失败时,可以自动重启queue:work process。很幸运的D-Laravel已内建supervisor罗,所以不需要再自行安装到Mac OS上即可使用。
当您要使用Laravel上的queue功能及Laravle Echo及Events及Broadcasting或Notifications 时,
您应该就会用到supervisor应用。
在D-Laravel上运行supervisor打不死的小强相当简单。
您需更新至D-Laravel v1.2.15 才有支持
如果您使用旧版D-Laravel,您可以采用Docker官方的命令来运行,本文中会提到。
事实上已有一个sample在里面了,
所以我们可以,简单的copy这个sample来进行修改。
假定dlaravel安装在我们的家目录,所以命令如下:
上方的command设置中,我使用Laravel的default queure,因此不指定--quque=。
myproject即是我们在D-Laravel的sites数据夹内要运行queue:work的项目。
二、解除封印
将我们在docker-compose.yml中,php服务段落内supervisor设置挂载的#号注解移除。
三、运行php container内的超级小强吧,哦打错,是supervisor.
D-Laravel就是docker的环境,当然我们可用官方的命令,运行container内的命令。
在dlaravel的数据夹中运行的语法如下:
还记得吗,就在上面的第二步,我们移除了注解#,这样就让php的container,能挂载我们host端dlaravel目录内的etc/supervisor数据夹。
并在第一步中,我们也产出了, laravel-work.conf 档,所以php container内的supervisor可以依我们的 laravel-work.conf 设置来启动。
对 Linux 初学者,可能会觉的这么长的命令不好记,所以在新版的 D-Laravel 中提供简易的 bash ,
让我们可以少打几个字,我们可透过 ./console 来启动或停止 supervisor
或是
四、检测container内的进程是否运行(额外补充)。
我们可以透过
当您要使用Laravel上的queue功能及Laravle Echo及Events及Broadcasting或Notifications 时,
您应该就会用到supervisor应用。
在D-Laravel上运行supervisor打不死的小强相当简单。
您需更新至D-Laravel v1.2.15 才有支持
./console supervisor start
命令。如果您使用旧版D-Laravel,您可以采用Docker官方的命令来运行,本文中会提到。
SUPERVISOR三步曲
一、 创建supervisor设置档至D-Laravel中的etc/supervisor数据夹事实上已有一个sample在里面了,
所以我们可以,简单的copy这个sample来进行修改。
假定dlaravel安装在我们的家目录,所以命令如下:
cd ~/dlaravel/etc/supervisor
cp laravel-worker.conf.sample laravel-worker.conf
vim laravel-work.conf
上方的command设置中,我使用Laravel的default queure,因此不指定--quque=。
myproject即是我们在D-Laravel的sites数据夹内要运行queue:work的项目。
二、解除封印
将我们在docker-compose.yml中,php服务段落内supervisor设置挂载的#号注解移除。
三、运行php container内的超级小强吧,哦打错,是supervisor.
D-Laravel就是docker的环境,当然我们可用官方的命令,运行container内的命令。
在dlaravel的数据夹中运行的语法如下:
docker-compose exec php /etc/init.d/supervisor start
还记得吗,就在上面的第二步,我们移除了注解#,这样就让php的container,能挂载我们host端dlaravel目录内的etc/supervisor数据夹。
并在第一步中,我们也产出了, laravel-work.conf 档,所以php container内的supervisor可以依我们的 laravel-work.conf 设置来启动。
对 Linux 初学者,可能会觉的这么长的命令不好记,所以在新版的 D-Laravel 中提供简易的 bash ,
让我们可以少打几个字,我们可透过 ./console 来启动或停止 supervisor
./console supervisor start
或是
./console supervisor restart
四、检测container内的进程是否运行(额外补充)。
我们可以透过
./console top
命令检测container内的supervisor进程是否运行。./console top php
No Comment
Post your comment