【发布时间】:2013-11-18 11:07:52
【问题描述】:
我在 nginx + unicorn 后面运行一系列 Rails/Sinatra 应用程序,部署时间为零。我喜欢这个设置,但是 Unicorn 需要一段时间才能完成重启,所以我想在它完成后发送一些通知。
我可以在 Unicorn 文档中找到的唯一回调与工人分叉有关,但我认为这些不会适用于此。
这就是我从赏金中寻找的内容:旧独角兽主人启动新主人,然后启动其工人,然后旧主人停止其工人并让新主人接管。我想在移交完成后执行一些 ruby 代码。
理想情况下,我不想为此实施任何复杂的流程监控。如果这是唯一的方法,那就这样吧。但在走这条路之前,我正在寻找更简单的选择。
【问题讨论】:
-
Github way(向下滚动到“缓慢部署”部分)不适合您吗?
-
@mudasobwa 这就是我正在做的事情。我认为你没有理解这个问题。
-
@AdamLassek 由于您已经使用该模式,我不明白是什么阻止您运行
unicorn && my_ruby_script而不是纯unicorn。可能我确实没看懂这个问题,抱歉。 -
@mudasobwa unicorn 命令不会直接重新启动,我们只是向进程发送 USR2 信号,告诉它启动一个新的主控。我不在乎新主人何时开始,我在乎它何时接管。
标签: ruby deployment nginx unicorn