0

I am calling function with LoadData.send_later(:test). LoadData is my class and test is my method.

It's working fine while i am running rake jobs:work.

But when i am running script/delayed_job start or run that time delayed_job.log shows error like

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

Any solution??

4

2 に答える 2

1

インクルード LoadData を初期化子に入れてみてください。私は、activerecord クラス、notifier などを含む DelayedJob を覚えているようですが、カスタム クラスは覚えていません。個人的には、クラスをモデル ディレクトリに配置します。アクティブレコードでなくても、データを扱っています。

于 2010-06-17T20:15:04.367 に答える
0

これを試してください:

Delayed::Job.enqueue LoadData.test

また、気付くのに時間がかかった大きな落とし穴... コードを変更した場合は、rake ジョブを再起動します。

于 2010-06-17T19:10:56.487 に答える