刚刚更新到最新版本的mongoid(3.1.0)和sidekiq(2.7.2)
现在我收到了错误:failed with error 10068: "invalid operator: $oid"
从查看代码我看到一个像这样的选择:@selector={"_id"=>{"$oid"=>"[some id]"}}
什么可以在这里出错?
答案 0 :(得分:7)
将此添加到我的gemfile
修复了问题:
gem 'multi_json', '1.5.1'
我猜最新版本(1.6.0)
有问题编辑:gem已更新为解决此问题的新版本(1.6.1)。更多: https://github.com/intridea/multi_json/issues/89
答案 1 :(得分:6)
这实际上是因为BSON :: ObjectId不是JSON的一部分...所以当Sidekiq尝试将args序列化为工作者时,它会发生声响。看看此评论:https://github.com/mperham/sidekiq/issues/951#issuecomment-19497803
修复只是在执行类似的工作时将ID转换为字符串:
EmailSubscribe.perform_async(user.id.to_s)