Ruby 如何让rack在退出时执行代码(sigterm)?带支架的Startet

Ruby 如何让rack在退出时执行代码(sigterm)?带支架的Startet,ruby,rack,sigterm,Ruby,Rack,Sigterm,我从rackup--host 0.0.0.0-p80开始,我的config.ru文件包含以下内容: 需要相对的'app/config/initializer' 运行Manager.freeze.app #我需要什么,但不起作用。 在你出口吗 经理,停止所有服务 结束 当我停止docker控制台设置时,退出时的似乎没有被击中。我甚至不知道它是否适用于普通脚本。 当我停止使用rackup启动的Web服务器时,有人知道如何执行一些代码吗 编辑:删除了所有不相关的docker信息,因为这会分散对原始问

我从
rackup--host 0.0.0.0-p80开始,我的config.ru文件包含以下内容:

需要相对的'app/config/initializer'
运行Manager.freeze.app
#我需要什么,但不起作用。
在你出口吗
经理,停止所有服务
结束
当我停止docker控制台设置时,退出时的
似乎没有被击中。我甚至不知道它是否适用于普通脚本。 当我停止使用rackup启动的Web服务器时,有人知道如何执行一些代码吗


编辑:删除了所有不相关的docker信息,因为这会分散对原始问题的注意力。

结果是退出时的
简单有效。我想我的设置中还有一些东西坏了


谢谢你的时间

事实证明,退出时的
很有效。我想我的设置中还有一些东西坏了


谢谢你的时间

这听起来是错误的做法。在顶层,您正在使用docker compose生成容器,包括这个Ruby容器,您想使用其中一个容器来管理其他容器吗?使用较高级别的工具管理较低级别的工具,而不是相反。我添加了您要求的@anothermh信息,但请记住,我的“错误”设置可能会导致我的问题,但这在我的学习项目中是意料之中的。做出错误的决定来学习更多。对于其他想要在退出时执行某些代码并有正当理由的人来说,这个“糟糕”的决定并不会改变这个问题。永远不会少,谢谢你指出。我没有要求任何细节,但很高兴你添加了更多。至于以错误的方式做事并将其作为一种学习经验,我的经验告诉我,现在是时候停止做错误的事情,转而做其他事情了:你已经知道这是错误的。这听起来像是错误的方式。在顶层,您正在使用docker compose生成容器,包括这个Ruby容器,您想使用其中一个容器来管理其他容器吗?使用较高级别的工具管理较低级别的工具,而不是相反。我添加了您要求的@anothermh信息,但请记住,我的“错误”设置可能会导致我的问题,但这在我的学习项目中是意料之中的。做出错误的决定来学习更多。对于其他想要在退出时执行某些代码并有正当理由的人来说,这个“糟糕”的决定并不会改变这个问题。永远不会少,谢谢你指出。我没有要求任何细节,但很高兴你添加了更多。至于以错误的方式做事并将其作为一种学习经验,我的经验告诉我,现在是时候停止做错误的事情,转而做其他事情了:你已经学会了它是错误的。