9

mongoid (3.1.0) と sidekiq (2.7.2) の最新バージョンに更新したところ
、エラーが発生しましfailed with error 10068: "invalid operator: $oid"
た: コードを調べると、そのような選択が表示されます:@selector={"_id"=>{"$oid"=>"[some id]"}}
ここで何が問題なのですか?

4

2 に答える 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 が引数をワーカーにシリアル化しようとすると、吐き出されます。このコメントをチェックしてください: https://github.com/mperham/sidekiq/issues/951#issuecomment-19497803

修正は、次のようなジョブを実行するときに ID を文字列に変換するだけです。

EmailSubscribe.perform_async(user.id.to_s)
于 2013-06-24T13:46:58.950 に答える