Existe alguma maneira de usar o recurso Ouvir / Notificar do Postgres para entregar uma mensagem a um canal e ter apenas um ouvinte consumindo essa mensagem?
O objetivo é que eu tenha vários aplicativos de trabalho, todos ouvindo o mesmo canal do Postgres. Mas eu quero apenas o trabalho uma vez por mensagem recebida pelo canal de notificação.
Se Listen / Notify não é o recurso correto no Postgres, existe um recurso separado que eu deveria estar usando?
Idealmente, eu gostaria de fazer isso sem usar extensões adicionais.
fonte
Eu fiz algo assim há um bom tempo, usei o RabbitMQ e este plugin https://github.com/gmr/pgsql-listen-exchange
Basicamente, o RabbitMQ se conecta ao PostgreSQL e escuta o evento de notificação, então você pode usar o RabbitMQ para agregar essa mensagem a quantas filas forem necessárias e ter um aplicativo consumindo cada fila
fonte