【发布时间】:2011-12-24 00:12:14
【问题描述】:
我有一些来自deploy 用户的 ENV 变量。 (类似于 Heroku recommends,但没有使用 Heroku。)
我的 rails 应用程序依赖这些来实现某些功能,例如,在 application.rb 中:
config.action_mailer.default_url_options = { host: ENV['MY_HOST'] }
这是必要的,因为我们有多个临时主机。每个主机都在.bashrc 中将MY_HOST 定义为其正确的主机名,如下所示:
export MY_HOST="staging3.example.com"
这允许我们只使用一个 rails staging 环境,但仍然让每个主机的正确主机名用于测试、发送电子邮件等,因为这可以在每台机器的基础上设置。
不幸的是,当我使用 USR2 重新启动 Unicorn 时,它看起来并没有对这些变量进行更改。执行硬停止和启动将正确加载任何更改。
我正在使用preload_app = true,我猜这可能与它有关。有什么想法吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.1 capistrano unicorn