2

私はdelayed_jobを使用して電子メールを送信しています。次を使用してプロセスを開始すると、開発中はすべて正常に動作します。

jobs:work

「delayed_job」スクリプトを使用してプロセスを開始しようとすると、本番環境の共有ホストで問題が発生します(詳細はこちら

script/delayed_job start staging

次のエラーが表示されます

/home/blog/applications/staging/blog/shared/bundle/ruby/1.8/gems/activesupport-3.1.0.rc6/lib/active_support/dependencies.rb:237:in `require': no such file to load -- delayed/command (LoadError)
    from /home/blog/applications/staging/blog/shared/bundle/ruby/1.8/gems/activesupport-3.1.0.rc6/lib/active_support/dependencies.rb:237:in `require'
    from /home/blog/applications/staging/blog/shared/bundle/ruby/1.8/gems/activesupport-3.1.0.rc6/lib/active_support/dependencies.rb:223:in `load_dependency'
    from /home/blog/applications/staging/blog/shared/bundle/ruby/1.8/gems/activesupport-3.1.0.rc6/lib/active_support/dependencies.rb:636:in `new_constants_in'
    from /home/blog/applications/staging/blog/shared/bundle/ruby/1.8/gems/activesupport-3.1.0.rc6/lib/active_support/dependencies.rb:223:in `load_dependency'
    from /home/blog/applications/staging/blog/shared/bundle/ruby/1.8/gems/activesupport-3.1.0.rc6/lib/active_support/dependencies.rb:237:in `require'
    from script/delayed_job:4

これを解決する方法についてのアイデアはありますか?

Ruby 1.8.7 で Rails 3.1 を Phusion Passenger と共に使用しています。

4

1 に答える 1

0

このような場合は Capistrano を使用することをお勧めします。次に、これを deploy.rb ファイル (または Capfile) に入れるだけです。

require 'delayed/recipes'

after "deploy:start", "delayed_job:start"
after "deploy:stop", "delayed_job:stop"
after "deploy:restart", "delayed_job:restart"

確かに、私にとってはずっと簡単になりました=)

于 2011-08-26T08:43:33.920 に答える