antirez / antirez/disque

GETJOB from ALL?

Offen
#198 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C
Sterne
8.1k
Forks
532
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.