延迟::作业,监控和内存错误

时间:2010-01-28 14:24:07

标签: ruby-on-rails delayed-job monit

所以我已经让Delayed :: Job在生产中游泳了一段时间。

每当我改变工作时我都会(生产环境中的所有人都会介意你)

  1. 使用[脚本](http://wiki.github.com/tobi/delayed_job/running-delayedworker-as-a-daemon)重启延迟作业我用过
  2. 清除使用`rake jobs:clear`
的工作

另外,我有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?

谁可以帮助兄弟出去?

1 个答案:

答案 0 :(得分:0)

我认为这个问题已经解决了。我试过100次,或者不是,我是否有太少的内存,但有一次它只是固定了自己。

不是我想要的答案,但奇怪的是,