1Panel icon indicating copy to clipboard operation
1Panel copied to clipboard

[QUESTION]关于进程守护:supervisor管理/停止,无法同步停止容器内进程

Open xhwsd opened this issue 1 year ago • 14 comments

请描述您的问题

使用场景

进程守护启动Laravel队列进程常驻进行任务消费

问题描述

目前supervisor安装在宿主,而Laravel在容器内运行。 尝试使用docker exec 容器名 php /www/sites/网站名/index/artisan queue:work命令启动并守护。 发现supervisor管理/停止时,其实际PHP队列进程还在执行(通过:进程管理/搜索PHP/详细/启动命令)

需求描述

如何实现supervisor管理/停止时,PHP队列进程也同步结束

为了实现Laravel项目正常运行,用到计划任务的调度和进程守护的队列。

xhwsd avatar Oct 26 '23 01:10 xhwsd

感谢反馈。 目前使用进程守护功能还不能实现上述需求,但可以通过 容器 页面提供的 终端 功能来实现关闭进程的功能。

接下来,我们也会讨论具体方案,看如何来支持上述需求。

wanghe-fit2cloud avatar Oct 26 '23 06:10 wanghe-fit2cloud

哎,进程守护无法实现容器内的进程守护,那类似需要常驻进程守护的PHP项目(Laravel、ThinkPHP等)也玩不转了了~

xhwsd avatar Oct 26 '23 06:10 xhwsd

请问何时完善进程守护PHP项目,一天不完善一天无法运行完美运行Laravel、ThinkPHP等项目

xhwsd avatar Nov 19 '23 13:11 xhwsd

请问何时完善进程守护PHP项目,一天不完善一天无法运行完美运行Laravel、ThinkPHP等项目

1Panel 是容器化运行的 PHP 网站,而容器又是单进程模型,所以还是上面的建议,需要借助 容器 - 终端 功能来实现。

wanghe-fit2cloud avatar Nov 19 '23 14:11 wanghe-fit2cloud

也可以使用 1Panel 的定时任务来执行,如图: image

wanghe-fit2cloud avatar Nov 20 '23 06:11 wanghe-fit2cloud

哎,这样说:进程程守 管理的 停止、重启 后的 php 进程怎么处理,就不关了,这明显有问题影响业务 QQ截图20231120144432

xhwsd avatar Nov 20 '23 06:11 xhwsd

不解决进程程守问题,类似 Laravel、ThinkPHP 等需要常驻进程(队列)的PHP项目都无法在 1Panel 运行

xhwsd avatar Nov 20 '23 06:11 xhwsd

不解决进程程守问题,类似 Laravel、ThinkPHP 等需要常驻进程(队列)的PHP项目都无法在 1Panel 运行

经过讨论,后续我们考虑在 PHP 容器中增加 supervisor

zhengkunwang223 avatar Nov 20 '23 06:11 zhengkunwang223

我也有这个需求。

我开发一个开源程序 Fresns,基于 Laravel 框架,准备首推这个面板的,昨晚玩了一下,就差一个进程守护没办法解决了。

jevantang avatar Nov 21 '23 08:11 jevantang

哎,说来话长,孩子没娘!我前段时间都已经把1Panel服务器环境搭建好,都迁到1Panel,然后发现队列等的常驻进程守护不了,乖乖的迁回宝塔

xhwsd avatar Nov 21 '23 08:11 xhwsd

哎,说来话长,孩子没娘!我前段时间都已经把1Panel服务器环境搭建好,都迁到1Panel,然后发现队列等的常驻进程守护不了,乖乖的迁回宝塔

我和你一样。我昨晚把生产环境都迁移过来了,配置完之后才知道没进程守护。

我现在是人工每隔几个小时就手动在终端里执行一下 php artisan queue:work

又要夜里再迁移一下环境了。

jevantang avatar Nov 21 '23 08:11 jevantang

这个问题对于laravel、thinkphp用户很急切,希望能尽快有一个好的解决方案。哎

pmb2020 avatar Feb 03 '24 03:02 pmb2020

停止命令可以先判断如果是docker exec ,先搜索进程pid然后进入容器kill进程呢

是否可以参考[参考链接](https://m.php.cn/faq/519988.html?share_token=BAF0AF8D-F4F9-494D-B59C-A187D0C83EDD&tt_from=copy_link&utm_campaign=client_share&utm_medium=toutiao_ios&utm_source=copy_link docker进程无法停止怎么办-Docker-PHP中文网 - 今日头条)

muzidudu avatar Feb 17 '24 07:02 muzidudu