佣金工作:工作正常。脚本/ delayed_job启动的问题

时间:2010-06-17 18:57:35

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

我用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 ...

任何解决方案??

2 个答案:

答案 0 :(得分:1)

尝试将includeData放入初始化程序中。我似乎记得DelayedJob包括activerecord类,通知程序等,但不包括自定义类。我个人将这个类放在你的模型目录中。它仍处理数据,即使它不是主动记录。

答案 1 :(得分:0)

尝试这样做:

Delayed::Job.enqueue LoadData.test

另外,一个很大的问题让我意识到......如果你对代码进行了更改重启 rake jobs:work!