私はRubyのdelayed_job_mongoid gemを使用して、バックグラウンドでマップ/リデュースジョブをキューに入れています。ジョブは問題なく処理され、約 1 分で完了します。
現在、ジョブの処理中にジョブのステータスをクエリしようとしていますが、マップ/リデュースの実行中にdelayed_jobsテーブルで実行したクエリはすべてそこでハングし、すべてのジョブが完了するまでブロックされていることがわかりました.
たとえば、map/reduce の実行中に db.delayed_jobs.find() を実行すると、最後のジョブがすべて終了するまでそこに留まり、最終的にテーブルの内容が表示されます (その時点では空です)。ジョブの実行中にテーブル全体がロックされているかのようです。これは私が期待するものではありません。
確認しましたが、データベース接続が不足していません。何が起こっているか知っている人はいますか?