尝试使用mongoid后端使用delayed_job。创建的作业无法运行,显然是因为它被推送到db.entries
集合而不是db.delayed_backend_mongoid_jobs
集合。
在类Entry中给出以下代码:
after_create :create_dj
def create_dj
Rails.logger.info "ENTRY CREATED at #{created_at}"
end
handle_asynchronously :create_dj, run_at: Proc.new { 30.seconds.from_now }
我希望在delayed_backend_mongoid_jobs集合中创建一个新的delayed_job条目。相反,我看到以下数据库日志:
MONGODB health_blog_development['entries'].insert([
{"content"=>"foo", "_id"=>BSON::ObjectId('4ee95ed3b643988551000044') ... },
{"priority"=>0, "attempts"=>0, "handler"=>"--- !ruby/struct:Delayed::PerformableMethod ... }])
好像它认为应该把工作推到条目集合中。
可能相关的一些细节:
使用的宝石:
如果有任何其他细节可能有助于弄清楚这里发生了什么,请告诉我。干杯!
答案 0 :(得分:0)
我认为delayed_job集合中的条目引用了创建它们的类,在本例中是Entry类。
您实际获得的错误是什么?
答案 1 :(得分:0)
这似乎是由delayed_job和Apotomo小部件框架的组合产生的有趣行为。将进程更改为使用常规Rails表单而不是Apotomo url_for_event进程可以解决问题。