antirez / antirez/disque

GETJOB from ALL?

Đang mở
#198 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C
Star
8.1k
Fork
532
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.