Skip to content

how can different message queues be isolated? #3

@kurtbrose

Description

@kurtbrose

this seems very cool, I'm going to use it

in rabbitmq, amqp, kafka etc the name of a queue is an important design capability

for example, you might have a "real time queue" and a "batch queue" with different number of workers allocated

or, a "first time queue" and a "retry queue" or "failed queue"

or just, in general, two django apps or parts of a large system that both want to use a postgres-queue without getting crosstalk among their messages

unless I misunderstand, there isn't an equivalent here?

it seems like it could be added by having an indexed queue_name field on dpq.models.Job, then having the dequeue method accept the name and use it as part of the where clause.

for backwards compatibility, None or some default name could be used; but in the future dpq.queue.Queue could have a name field that it attaches to jobs before enqueueing

another design approach might be to actually have separate tables for each logical queue name; not sure if there are advantages to table-level isolation here or not

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions