我用LoadData.send_later(:test)调用函数。 LoadData是我的类,测试是我的方法。
当我正在运行佣金工作时工作正常:工作。
但是当我运行脚本/ delayed_job启动或运行时,delayed_job.log显示错误,如
TEastern Daylight Time: *** Starting job worker delayed_job host:KShah pid:5968
TEastern Daylight Time: * [Worker(delayed_job host:KShah pid:5968)] acquired lock on LoadData.load_test_data_with_delayed_job
Could not load object for job: uninitialized constant LoadData
TEastern Daylight Time: * [JOB] delayed_job host:KShah pid:5968 completed after 0.0310
TEastern Daylight Time: 1 jobs processed at 10.6383 j/s, 0 failed ...
任何解决方案??
答案 0 :(得分:1)
尝试将includeData放入初始化程序中。我似乎记得DelayedJob包括activerecord类,通知程序等,但不包括自定义类。我个人将这个类放在你的模型目录中。它仍处理数据,即使它不是主动记录。
答案 1 :(得分:0)
尝试这样做:
Delayed::Job.enqueue LoadData.test
另外,一个很大的问题让我意识到......如果你对代码进行了更改重启 rake jobs:work!