Closed aryamannaik closed 2 months ago
Priorities are per-queue, not across queues
Thanks @timgit. Are there any assumptions I can make about priority across queues? Let's say I have one queue that processes very high priority jobs (important-queue
), another that does not (not-important-queue
). I don't want slow jobs on not-important-queue
to hog resources and starve processing of the important-queue
. Is there a mechanism to address this use case?
I'm not sure I understand what you mean by "resources", but each call to work()
creates an independent polling loop for that queue, so they don't wait on each other.
My worry is that a job on not-important-queue
starves memory or CPU on the machine (these are the resources I'm referring to) from important-queue
. Ideally, I'd want some way to mark one queue as more important than the others to avoid this from happening.
Your concern seems very specific to your use case. The simplest solution in this architecture seems to be to run each worker on an isolated machine.
Gotcha, thanks @timgit!
I'd love to know more about how the
priority
field onsend
works [link]..work
calls on a single process both withpriority=true
.Thanks!