刚刚更新到最新版本的 mongoid (3.1.0) 和 sidekiq (2.7.2)
现在我得到了错误:failed with error 10068: "invalid operator: $oid"
通过查看代码,我看到一个这样的选择:@selector={"_id"=>{"$oid"=>"[some id]"}}
这里有什么问题?
问问题
2143 次
2 回答
7
将此添加到我gemfile
修复的问题中:
gem 'multi_json', '1.5.1'
我想最新版本(1.6.0)有问题
编辑: gem 已更新到修复此问题的新版本(1.6.1)。更多信息: https ://github.com/intridea/multi_json/issues/89
于 2013-02-14T06:53:54.243 回答
6
这实际上正在发生,因为 BSON::ObjectId 不是 JSON 的一部分......所以当 Sidekiq 尝试将 args 序列化给工作人员时,它会呕吐。查看此评论:https ://github.com/mperham/sidekiq/issues/951#issuecomment-19497803
修复只是在执行以下工作时将 ID 转换为字符串:
EmailSubscribe.perform_async(user.id.to_s)
于 2013-06-24T13:46:58.950 回答