1

それで、私はDelayed::Jobを本番環境でしばらくの間泳いでいました。

仕事に変更を加えるときはいつでもそうします(すべての生産環境であなたを気にかけます)

  1. [スクリプト] ( https://github.com/tobi/delayed_job/wiki/Running-Delayed::Worker-as-a-daemon )を使用して遅延ジョブを再起動します。
  2. を使用してジョブをクリアしますrake jobs:clear

また、monit を実行しています。monit を停止し、スクリプトを再起動してから、monit を開始しました。この順序で...まだサイコロはありません。

とにかく、私たちは皆、古いジョブをメモリから取り出すためにこれを行います。ジョブ キューをクリアするのは、私がそうしているためです。そのステップは必要ないかもしれませんし、私のアプリでは問題ありません。

ただし、最近これらの手順を使用しても、何らかの理由で新しいジョブ コードがリセットされません。job_runner.log ファイルを見ると、スクリプトを再起動するとこのエラーが発生します

*** below you find the most recent exception thrown, this will be likely (but not    certainly) the exception that made the applicati
on exit abnormally ***
#<SystemExit: exit>*** below you find all exception objects found in memory, some of them may have been thrown in your application, others may just be in memory because they are standard exceptions ***
#<NoMemoryError: failed to allocate memory>
#<SystemStackError: stack level too deep>
#<fatal: exception reentered>
#<LoadError: no such file to load -- rubygems/defaults/operating_system>
#<LoadError: no such file to load -- daemons>
#<NameError: uninitialized constant Rails::Plugin::HoptoadNotifier>
#<Errno::ENOENT: No such file or directory - /var/rails/wigify/tmp/pids/job_runner.pid>
#<SystemExit: exit>

だから私は何が起こっているのか分かりません。そのスタック レベルが深すぎるというエラーは、私のコードに起因するものですか? 以前と同じように、すべての統合テストに合格しました。

スライスにメモリの問題がありますか? free私がそれをすると、平均で300MBあると言われますが?

ここで兄弟を助けることができるのは誰ですか?

4

1 に答える 1

0

問題は解決したと思います。100回試行するたびにラムが少なすぎたのか、それともそうでなかったのか、1回はそれ自体が修正されました。

私が望んでいた答えではありませんが、それでも奇妙です。

于 2010-01-29T02:37:56.067 に答える