gpt4 book ai didi

shell - 运行命令并成功杀死

转载 作者:行者123 更新时间:2023-12-02 21:16:49 31 4
gpt4 key购买 nike

我在Kubernetes上部署了Rails。目前,应用程序的预加载时间非常长(大约一分钟),我正在寻找减少此时间的方法。

我找到的解决方案之一是一个名为bootsnap的gem,它可以缓存一些重要文件,因此,每次启动时,这些文件已经加载完毕,预加载的 yield 约为50%

只有当我们重启服务器并且使用Kubernetes总是创建一个新的Pod时,这才起作用,因此没有缓存,使用bootsnap也没有任何好处。

要创建此缓存,我只需要运行rails server,所以我想我可以做的就是在Dockerfile中添加一个命令来启动Rails,然后(如果成功的话)将其杀死,因为在那一刻,文件已经被缓存了并且我的镜像将包含这些文件

有什么办法可以做

RUN rails server --daemon
RUN until port 3000 is not up wait
RUN kill server

最佳答案

我认为它与

#!/bin/sh

bundle exec rails server --daemon

while ! nc -z localhost 3000; do
echo "Checking for Rails"
sleep 0.5
done

kill $(cat tmp/pids/server.pid)

关于shell - 运行命令并成功杀死,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50325926/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com