Executando verificação de segurança...
4

Modulo consumer-pgmq para consumir mensagens da Supabase/Postgresql queue

Oi pessoal!

Estou aqui hoje para mostrar a vocês o módulo node.js consumer-pgmq que criei. O módulo assumiu a responsabilidade de fazer o polling das mensagens e passá-las para uma função handler para processar.

Por que eu criei isso?

Recentemente descobri um recurso de queue no Supabase onde posso implementar uma fila de mensagens usando o banco de dados Postgresql.

Spoiler: se você tiver um Postgresql rodando fora do Supabase, também pode usar o recurso de queue, você só precisa instalar a extensão chamada pgmq. Link das instruções: https://github.com/pgmq/pgmq

Mas percebi que algo estava faltando na minha opinião: não encontrei um pacote no Npm para fazer o polling das mensagens e passá-las para uma função que eu definisse para executar algo. Então, como resultado disso, criei o pacote npm chamado consumer-pgmq, que integra com Supabase e Postgresql.

O que eu aprendi?

  • Github actions + semantic-release para atualizar o release e gerar as versões do meu módulo com base nos git commits. PS: a versão gerada é baseada no semantic version.
  • Github actions para automatizar o processo de build e publicação do módulo no Npm.
  • Usar a classe AbortController no Node.js para parar os processos assíncronos (Promise) se demorarem muito para executar.
  • Revisei o EventEmitter.

Link do módulo no Npm: https://www.npmjs.com/package/consumer-pgmq
Link do repositório no Github: https://github.com/tiago123456789/consumer-pgmq

Carregando publicação patrocinada...