【发布时间】:2011-12-20 01:55:29
【问题描述】:
我有一个使用 Ruby on Rails 和 resque 的简单堆栈。我以正常方式排队工作,并且有一群工人在执行。没什么疯狂的。
我的问题是,如果我让工作人员运行足够长的时间,他们将停止查看应用程序的模型,并且每次调用此类方法都会导致 undefined_method。
这很奇怪,因为它可以正常工作好几天,然后突然开始失败。重新启动 Worker 可以解决问题,但它通常会在一段时间后恢复。
我不知道会发生什么,所以任何指针将不胜感激。
【问题讨论】:
-
你在那段时间做一些发布吗? capistrano 是否正在删除 resque 正在处理的文件或类似的文件?
-
@phoet 它正在开发中。我还没有生产环境。我可能正在更改文件,但一旦工作人员加载它们就应该很重要 - 我认为
-
能否请您发布失败期间发生的堆栈跟踪? 听起来在我看来,您的工作人员已经失去了与数据库的连接,而不是应用程序代码离开了。但我不是 Rails/Activerecord 用户,所以我不确定。
标签: ruby-on-rails ruby require resque worker