LMH*_*LMH 8 ruby-on-rails delayed-job
嘿,我们有一个库类(lib/Mixpanel)调用延迟作业,如下所示:
class Mixpanel
attr_accessor :options
attr_accessor :event
def track!()
..
dj = send_later :access_api # also tried with self.send_later
..
end
def access_api
..
end
Run Code Online (Sandbox Code Playgroud)
问题是当我们运行rake jobs:work:我们得到以下错误:
undefined method `access_api' for #<YAML::Object:0x24681b8>
Run Code Online (Sandbox Code Playgroud)
知道为什么吗?
Jon*_*ian 16
Delayed_job总是自动加载ActiveRecord类,但它不知道它在数据库中作为YML编组的其他类型的类(如lib).因此,您需要为它们显式触发类加载器.由于DJ启动了Rails环境,只需在初始化程序中提及任何非AR封送类:
(config/initializers/load_classes_for_dj.rb)
Mixpanel
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2580 次 |
| 最近记录: |