0

我正在使用 LoadData.send_later(:test) 调用函数。LoadData 是我的课程,测试是我的方法。

当我运行 rake 作业时它工作正常:工作。

但是当我运行 script/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 ...

有什么解决办法??

4

2 回答 2

1

尝试将 include LoadData 放入初始化程序中。我似乎记得 DelayedJob 包括 activerecord 类、通知器等,但不记得自定义类。就个人而言,我会将课程放在您的模型目录中。它仍在处理数据,即使它不是 activerecord。

于 2010-06-17T20:15:04.367 回答
0

尝试这样做:

Delayed::Job.enqueue LoadData.test

另外,我花了一段时间才意识到一个很大的问题……如果您对代码进行更改,请重新启动rake 工作:工作!

于 2010-06-17T19:10:56.487 回答