Joh*_*hir 8 ruby-on-rails delayed-job
我有一个长期以来一直运作良好的应用程序.我正在开启线程安全!,现在延迟工作无效,说它无法找到我的模型文件之一.
Job failed to load: undefined class/module Foo
这不是我在/ lib中定义的自定义作业类,这是app/models中的模型文件
什么可能导致这个类没有被加载?
pat*_*pat 12
在您记录的问题上发布,以防其他人首先发现此SO帖子:
我刚刚遇到了这个问题......这就是我发现的:如果应用程序是通过rake任务加载的话,Rails并不急于加载类(这就是DJ如何做到这一点).
所以我所做的就是我的代码片段production.rb:
# Enable threaded mode, unless a rake task (likely Delayed Job) is running:
config.threadsafe! unless defined?($rails_rake_task) && $rails_rake_task
Run Code Online (Sandbox Code Playgroud)
Rails在由rake任务加载时设置全局变量.丑陋,但似乎罚款现在的工作对我来说...当然,如果你有一个是多线程的Rake任务,那么这是不理想,你可能应该调用Rails.application.eager_load!为了那些任务.我猜多线程rake任务很少见.
| 归档时间: |
|
| 查看次数: |
3069 次 |
| 最近记录: |