Meituan-Dianping / lyrebird

移动应用插件化测试工作台
https://meituan-dianping.github.io/lyrebird/
MIT License
1.16k stars 246 forks source link

能否提供一个接口,用于完全关闭lyrebird #788

Open ohyeah521 opened 1 year ago

ohyeah521 commented 1 year ago

由于自动化测试的时候多次运行,导致有大量无用进程残留耗尽系统资源,能否提供一个参数,实现完全关闭lyrebird,一键杀死所有相关子进程。或者提供一个超时自动退出的启动参数。

2023-09-17_084626
zhaoye commented 1 year ago

这个和如何维护多个Lyrebird实例这个需求有关吧。

我们现在的方式是实现一个专门管理Lyrebird的工具,但是由于涉及到一些内部的功能,没有办法开源。 下面简单介绍一下集中解决思路,看看哪种对你能有用吧。

1 使用专门的代码处理Lyrebird进程和配置

1) 实现一个‘工具’,根据不同的任务启动Lyrebird,并记录和管理其进程。 2) 自动化任务通过这个‘工具’创建新的Lyrebird实例,并在任务结束后通过这个‘工具’释放对应的Lyrebird实例

2 使用docker管理Lyrebird

1) 通过Docker管理Lyrebird实例,按需创建对应的容器,并在使用结束后销毁容器 2)可以通过挂载~/.lyrebird目录实现控制容器中Lyrebird配置和数据的能力

镜像 https://hub.docker.com/r/overbridge/lyrebird

====== 希望对你能有些帮助 @ohyeah521

sailenxu commented 9 months ago

这个和如何维护多个Lyrebird实例这个需求有关吧。

我们现在的方式是实现一个专门管理Lyrebird的工具,但是由于涉及到一些内部的功能,没有办法开源。 下面简单介绍一下集中解决思路,看看哪种对你能有用吧。

1 使用专门的代码处理Lyrebird进程和配置

1) 实现一个‘工具’,根据不同的任务启动Lyrebird,并记录和管理其进程。 2) 自动化任务通过这个‘工具’创建新的Lyrebird实例,并在任务结束后通过这个‘工具’释放对应的Lyrebird实例

2 使用docker管理Lyrebird

1) 通过Docker管理Lyrebird实例,按需创建对应的容器,并在使用结束后销毁容器 2)可以通过挂载~/.lyrebird目录实现控制容器中Lyrebird配置和数据的能力

镜像 https://hub.docker.com/r/overbridge/lyrebird

====== 希望对你能有些帮助 @ohyeah521

如果部署到服务器上多人使用的话,是不是可以采用这个思路,每个使用者创建一个lyrebird实例?本来我还在考虑该如何实现多人使用的问题

ohyeah521 commented 9 months ago

这个和如何维护多个Lyrebird实例这个需求有关吧。

我们现在的方式是实现一个专门管理Lyrebird的工具,但是由于涉及到一些内部的功能,没有办法开源。 下面简单介绍一下集中解决思路,看看哪种对你能有用吧。

1 使用专门的代码处理Lyrebird进程和配置

1) 实现一个‘工具’,根据不同的任务启动Lyrebird,并记录和管理其进程。 2) 自动化任务通过这个‘工具’创建新的Lyrebird实例,并在任务结束后通过这个‘工具’释放对应的Lyrebird实例

2 使用docker管理Lyrebird

1) 通过Docker管理Lyrebird实例,按需创建对应的容器,并在使用结束后销毁容器 2)可以通过挂载~/.lyrebird目录实现控制容器中Lyrebird配置和数据的能力

镜像 https://hub.docker.com/r/overbridge/lyrebird

====== 希望对你能有些帮助 @ohyeah521

如果部署到服务器上多人使用的话,是不是可以采用这个思路,每个使用者创建一个lyrebird实例?本来我还在考虑该如何实现多人使用的问题

是的,我也是多人使用场景,只能自己写代码维护每个用户创建的lyrebird的pid信息,然后根据需要进行杀进程。否则全都乱套了