Hacker News new | ask | show | jobs
by adhocmobility 62 days ago
Why insist on calling this a queue when it doesn't really have queue semantics? Queues do the job of load balancing between different workers. When workers acknowledge tasks, they get deleted, and there are visibility timeouts.

This is a log.

It's not really solving the problems you claim it solves. It's not, for instance, a replacement for SKIP LOCKED based queues.

2 comments

Fair. I had an attempt to clarify it in README that PgQue is "closer to Kafka topics than to a job queue" -- per-subscription cursor on a shared event log, no ACK-delete, no visibility timeout.

That makes PgQue an event-streaming tool, not an MQ. For SKIP LOCKED systems like PGMQ, PgQue can still be a replacement in certain cases – similarly to how Kafka can be a replacement for RabbitMQ or ActiveMQ in certain cases.

Agreed the "queue" naming is historical and a bit loose -- https://github.com/NikolayS/pgque/issues/70

thanks for pushing back, by the way – I'm thinking this thru, and will likely rename

fun fact: I now think, "River" (Go project) is also a misleading name for a task queue system :)