Sidekiq wikiには、次のように記載されています。
- ジョブを小さくシンプルに
シンプルになり、冪等性とトランザクション性が向上しますが、何が小さいのでしょうか? おそらく必要なメモリと計算時間は良い尺度ですか?私の Sidekiq ジョブは 10 秒から 30 分かかります。
10秒でもいいと思いますが、30分という長時間のタスクはどうでしょうか。データベースから特定のタイプのすべてのデータをメモリにロードし、それらに対して長い計算を実行してから、結果を書き戻しています。1 つのワーカー ジョブで 3 つのすべてを実行できます。
それでいいですか?それとも、小さな計算を実行する複数のワーカー ジョブをワーカー ジョブから呼び出す必要がありますか? 問題は、これらの小さな計算には、計算を行うためにいくつかの複雑なハッシュ テーブルが必要になる場合があり、Redis ではこれを保持せず、小さな単純な値のみを保持することが提案されていることです。