0

複数のアプリケーションがデプロイされている環境にプロジェクトをデプロイしています。そこでrvmを使ってRailsアプリケーションごとに実行環境を分けています。

私のアプリケーションでは、gem を使用godしてdelayed_job プロセスを管理しています。

God.watch do |w| 
  ...
  w.start = "RAILS_ENV=#{RAILS_ENV} /usr/local/rvm/bin/rvm in #{RAILS_ROOT} do #{RAILS_ROOT}/script/delayed_job -n 1 start"
  ...
end

しかし、これについて、神は次のように報告しています。

/usr/local/rvm/gems/ruby-1.9.3-p327-falcon@global/gems/god-0.13.2/lib/god/process.rb:324:in `exec': No such file or directory - RAILS_ENV=staging /usr/local/rvm/bin/rvm in /home/deployer/deploy/myproject/current do /home/deployer/deploy/myproject/current/script/delayed_job stop (Errno::ENOENT)

そして、それを次のように変更すると:

w.start = "export RAILS_ENV=#{RAILS_ENV} /usr/local/rvm/bin/rvm in #{RAILS_ROOT} do #{RAILS_ROOT}/script/delayed_job -n 1 start"

できます。複数のアプリケーション環境で追加が正しい方法であるかどうかを知りたいexportのですが、そのサーバーでは、他のアプリケーションが の下RAILS_ENV=productionで実行されているため、それらは影響を受けますか?

アップデート

export最初に追加すると、私は間違っていたことがわかりましたが、Godそれでも同じエラーがスローされます。どうすればこれを達成できますか?

感謝をこめて。

4

1 に答える 1

0

最後に、次のようにする必要があることを学びました。

w.start = "/usr/bin/env RAILS_ENV=#{RAILS_ENV} /usr/local/rvm/bin/rvm in #{RAILS_ROOT} do #{RAILS_ROOT}/script/delayed_job -n 1 start"

それなら大丈夫です。

于 2013-08-15T07:28:29.763 に答える