How do you handle queues in Node.js? Have you ever tried using pgboss?

This page summarizes the projects mentioned and recommended in the original post on /r/node

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • bull

    Premium Queue package for handling distributed jobs and messages in NodeJS.

  • I'm working on a large ETL project that involves handling queues for file integration. Currently, we are using Redis with Bull (https://www.npmjs.com/package/bull) for this purpose. However, to streamline our architecture and address security concerns, we are considering migrating the queue to PostgreSQL.

  • pgboss-with-prisma

    It reproduces a simplified version of my ETL process using pg-boss. It aims to replace Bull and Redis, evaluating compatibility and performance. Contributions are welcome to explore pg-boss as an alternative solution for ETL

  • On the other hand, I conducted a P.O.C. to compare the performance of pg-boss and PostgreSQL against that of Bull and Redis. You can find the P.O.C. at this GitHub repository: https://github.com/lgauthier1/pgboss-with-prisma

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • rabbitmqtobucketqueue

    A RabbitMQ Consumer which limits the rate of consumption by consuming small batches of messages periodically and releasing them. Designed to enforce rate limits when working with external APIs.

  • You can view an example of a Publisher here: https://github.com/jakguru/rabbitmqtobucketqueue/blob/main/src/ToRabbitMQBucketQueue.ts

  • pg-tbus

    End-to-end typesafe tasks and integration events on postgres made easy.

  • Used pg-boss and I can recommend if you are queuing under 1-2 mil items and doesn't require sub ms latency. Additionally I wrote my own library similar to pg-boss: https://github.com/ilijaNL/pg-tbus

  • Socket.io

    Realtime application framework (Node.JS server)

  • For a chat program, you can use a websocket-like library like socket.io, and use RabbiqMQ as a coordinator in the backend to allow for clustering. In fact, there's already drivers for that. That being said, RabbitMQ is not a chat program solution.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts