Sidekiq根本的にRedisにキューがあってそれをpopして処理をしていく感じなので優先度を付けるというのとすごい相性悪い(キューたくさん作ってランダムな確率で比率調整になると思う)

@Clworld そして標準の優先順位指定になるのだ(キューのリストをぐるぐる回して一個ずつ取る、リスト上でダブらせると比率が変わる

フォロー

@unarist 最終的な優先度の実装についてはそうなると思うんですけど、そこに至る迄にまず例えば設定で書かれているdefaultキューの下に動的に生成する子キューを自動的に作成してうんぬんとかが行なわれる感じでそこでどこまで改善出来るかみたいなやつですね

@unarist まあその上でキューを増やしすぎるとその箇所のオーバーヘッドがどんどん酷いことになって行くみたいなことがあってバランスが…。(結果むずい)

@Clworld 自前でキュー的なリストをRedisに置いてSidekiqにはそれを処理するジョブを積んで、みたいなことを以前考えたけど、そんな感じかしら。(これを透過的にやるのがSidekiqプラグインにありがちなやつ…?

@unarist SidekiqプラグインはSidekiqのキューから取ってくる部分をごにょごにょしてるのが多いっぽい気がしますにゃ。

@unarist キューをそのままキューにしないでどのワーカーに振り分けるかのスケジューラーみたいなのを用意する というのはいい感じの手段な気がする

@Clworld これは妄想なんですが、配信処理も配信先ごとのキューというかバッファに積む感じにしといて、なんやかんやで溜まってたらまとめて送りたいとか思うやつがあります。

@unarist 配信先毎のキューを用意した上でタスクキューには普通にタスクを載せて、載ってるタスクを処理する際に配信先ごとのキューを確認して全部まとめて処理する感じかなと思います(タスク実行待ちの間に溜まった分を一気に処理する)(タスクキューに対象の無い配信タスクが残るのでタスクキューに入れるかの判断が難しい)(妄想)

ログインして会話に参加
GGTea - Mastodon

Mastodonは、オープンなウェブプロトコルを採用した、自由でオープンソースなソーシャルネットワークです。電子メールのような分散型の仕組みを採っています。