5

delayd_jobとmonitについてのこの質問に従いました

それは私の開発マシンで動作しています。しかし、本番環境で実行しようとすると、delayed_job.logをフォローすると死んでしまいます。

*** Starting job worker delayed_job host:mail.welcometonewnepal.com pid:356
#<Mysql::Error: Access denied for user 'root'@'localhost' (using password: YES)>
*** Starting job worker delayed_job host:mail.welcometonewnepal.com pid:441
#<Mysql::Error: Access denied for user 'root'@'localhost' (using password: YES)>
*** Starting job worker delayed_job host:mail.welcometonewnepal.com pid:448
#<Mysql::Error: Access denied for user 'root'@'localhost' (using password: YES)>

そして、本番環境で実行します

ruby script/delayed_job start -e production

それでもエラーが発生します。これは、開発環境を取得しようとする環境が設定されていないことが原因であることに気づきました。

/opt/ruby-enterprise-1.8.6-20090610/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:365:in `read': No such file or directory - /home/millisami/rails_apps/wnn_finale/config/environments/-e.rb (Errno::ENOENT)

環境パラメータが正しく設定されていないのはなぜですか?

4

4 に答える 4

4

使うだけ

ruby RAILS_ENV=production script/delayed_job start
于 2009-09-26T15:21:43.153 に答える
3

私はここで疲れているかもしれませんが、この要旨を script/delayed_job として使用していますか? その場合、「-e」は必要ありません。simply calling script/delayed_job start productionまたは、で始まる行を変更するENV['RAILS_ENV'](「開発」を「生産」に置き換える)だけで十分です。

その後も MySQL からエラーが発生する場合は、ユーザー名とパスワードを再確認する必要があります。

于 2009-09-06T19:34:44.277 に答える
1

人々がこの質問と古い答えを見つけるのを助けるために: スクリプトはもう環境パラメーターを受け入れません: https://github.com/collectiveidea/delayed_job/issues/7

于 2011-11-25T08:02:49.220 に答える
0

試してみてくださいscript/delayed_job start -- production。環境を DJ に渡すのと同じ方法で渡すとは思いませんscript/server。この回答は、使用するファイルに固有delayed_jobのものです。その要点を探しています。

編集:使用するファイルの要点は次のとおりです。

于 2009-09-06T19:35:17.570 に答える