antirez / antirez/disque

GETJOB from ALL?

未关闭
#198 0 条评论 0 个 reaction 已指派 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 摘要。