是否可以在Heroku上使用Cedar堆栈上的Unicorn实现像Github零停机部署这样的功能?
我不确定Heroku上的重启方式以及我们对重启进程的控制有多少,但我喜欢零停机部署的可能性,直到现在,从我所读到的来看,这是不可能的。
为了使其工作,需要一些要求:
- 首先,我们需要向后兼容的迁移。 我们将其留给我们的团队来解决。
- 其次,我们希望在推送后立即迁移数据库,但在重启之前(假设我们的迁移完全向后兼容,这不应影响任何内容)
- 第三,我们希望指示Unicorn启动一个新的主进程并分叉一些工作进程,然后交换PID并优雅地关闭旧的进程/工作进程。
我已经仔细查阅了文档,但我找不到任何表明在Heroku上可以实现这一点的东西。 有什么想法吗?