Sidekiq根本的にRedisにキューがあってそれをpopして処理をしていく感じなので優先度を付けるというのとすごい相性悪い(キューたくさん作ってランダムな確率で比率調整になると思う)
Conversation
Notices
-
神楽坂しえる (clworld@md.ggtea.org)'s status on Thursday, 30-Aug-2018 00:02:06 JST
神楽坂しえる
-
神楽坂しえる (clworld@md.ggtea.org)'s status on Thursday, 30-Aug-2018 00:04:05 JST
神楽坂しえる
既に積みれてるJobの積み直しはかなり高コストというのもけっこう来る
-
unarist (unarist@mstdn.maud.io)'s status on Thursday, 30-Aug-2018 00:09:27 JST
unarist
@Clworld そして標準の優先順位指定になるのだ(キューのリストをぐるぐる回して一個ずつ取る、リスト上でダブらせると比率が変わる
-
神楽坂しえる (clworld@md.ggtea.org)'s status on Saturday, 01-Sep-2018 20:09:10 JST
神楽坂しえる
@unarist 最終的な優先度の実装についてはそうなると思うんですけど、そこに至る迄にまず例えば設定で書かれているdefaultキューの下に動的に生成する子キューを自動的に作成してうんぬんとかが行なわれる感じでそこでどこまで改善出来るかみたいなやつですね
-
神楽坂しえる (clworld@md.ggtea.org)'s status on Saturday, 01-Sep-2018 20:10:39 JST
神楽坂しえる
@unarist まあその上でキューを増やしすぎるとその箇所のオーバーヘッドがどんどん酷いことになって行くみたいなことがあってバランスが…。(結果むずい)
-
unarist (unarist@mstdn.maud.io)'s status on Saturday, 01-Sep-2018 20:12:20 JST
unarist
@Clworld 自前でキュー的なリストをRedisに置いてSidekiqにはそれを処理するジョブを積んで、みたいなことを以前考えたけど、そんな感じかしら。(これを透過的にやるのがSidekiqプラグインにありがちなやつ…?
-
神楽坂しえる (clworld@md.ggtea.org)'s status on Saturday, 01-Sep-2018 20:14:34 JST
神楽坂しえる
@unarist SidekiqプラグインはSidekiqのキューから取ってくる部分をごにょごにょしてるのが多いっぽい気がしますにゃ。
-
神楽坂しえる (clworld@md.ggtea.org)'s status on Saturday, 01-Sep-2018 20:21:03 JST
神楽坂しえる
@unarist キューをそのままキューにしないでどのワーカーに振り分けるかのスケジューラーみたいなのを用意する というのはいい感じの手段な気がする
-
unarist (unarist@mstdn.maud.io)'s status on Saturday, 01-Sep-2018 20:24:13 JST
unarist
@Clworld これは妄想なんですが、配信処理も配信先ごとのキューというかバッファに積む感じにしといて、なんやかんやで溜まってたらまとめて送りたいとか思うやつがあります。
-
神楽坂しえる (clworld@md.ggtea.org)'s status on Saturday, 01-Sep-2018 20:36:25 JST
神楽坂しえる
@unarist 配信先毎のキューを用意した上でタスクキューには普通にタスクを載せて、載ってるタスクを処理する際に配信先ごとのキューを確認して全部まとめて処理する感じかなと思います(タスク実行待ちの間に溜まった分を一気に処理する)(タスクキューに対象の無い配信タスクが残るのでタスクキューに入れるかの判断が難しい)(妄想)
-