antirez / antirez/disque

GETJOB from ALL?

オープン
#198 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C
スター
8.1k
フォーク
532
PR マージ指標
30日以内にマージされた PR はありません

説明

I have a question regarding the implementation of queues in disque. In particular, does the code allow for an implementation of `GETJOB from *` or `GETJOB from ALL` to be written or does this break some fundamental assumptions about the segmentation of nodes or the distribution of queues across nodes?

In particular, this question pertains to the implementation of a _blocking_ means of obtaining one (or more) jobs across all queues without resorting to busy wait. I understand that `QSCAN` can be used to iterate over all queues and that can be combined with `GETJOB NOHANG` to in a tight loop to obtain a job across all queues, but that is obviously a waste of system resources.

This is useful if there is no set number of queues beforehand (e.g. a queue can be created by the code rather than being a part of the actual data structuring or partitioning) and queues are used for job management (e.g. flush all jobs of type x where x is simply a named queue) but no distinction is made as to which job should be executed.

Please correct me if I am wrong and this is already possible with the current API, in which case I humbly beg forgiveness for missing this detail.

Thank you.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。