クエリの結果を返すメソッドがあります。メソッドを呼び出すコードは、各結果をループし、sidekiq ワーカーを起動します。私が直面している問題は、ループに実際にかなりの時間がかかっていることです (すべてのワーカーを実行するのにかかる時間とほぼ同じです)。クエリは次のとおりです。
Object.where("last_updated > ?" , 1.days.ago.midnight )
次に、次のことを行います。
objects.each { |o| o.perform_async(something) }
このプロセスをより効率的にする方法を見つけようとしています。その結果、このプロセスが完了するまでに約 10 分かかり、実質的に起動ごとに 20 ミリ秒かかります (クエリが 30,000 件の結果を返す場合)。これを速くする方法はありますか?