如何在Apache仍然运行的情况下停止Rails(关闭数据库连接)

时间:2011-06-09 15:15:27

标签: ruby-on-rails-3 capistrano

带有Passenger的Apache上的Rails 3:我需要关闭Rails以便关闭数据库连接 - 这是执行一些常规数据库维护所必需的 - 但我希望Apache能够响应以便它能够响应请求使用静态维护页面。

我正在使用Capistrano,并且已经看到了如何调用维护模式的线程,但我需要知道在哪里挂钩我的数据库任务,并且无法弄清楚在哪里。

任何链接,甚至指向Capistrano代码中的位置的指针都将非常感激。

TIA

1 个答案:

答案 0 :(得分:1)

您可以使用capistrano的deploy:web:disable任务阻止访问您的网站,允许您进行数据库维护等:

cap deploy:web:disable REASON="a Database Upgrade" UNTIL="in a few minutes"

然后,一旦你完成了:

cap deploy:web:enable