Open source · Free to useqelay.tacklabs.co.uk

Qelay

A job queue that runs on your cloud.

Qelay keeps every job in PostgreSQL. A cloud queue, Google Pub/Sub or Amazon SQS, only wakes the workers. Terraform sets it up in your own account.

Bun · TypeScript · PostgreSQL · Terraform

How it works

3 steps
  1. 01

    Define.

    Write queues and workers in TypeScript with Queue, Worker, FlowProducer and QueueEvents.

  2. 02

    Deploy.

    Terraform for Google Cloud and AWS sets it up in your own account. On your own machine, PostgreSQL alone is enough.

  3. 03

    Run.

    A job is a row in PostgreSQL. A cloud queue only rings a doorbell to wake a worker, and only the worker holding a job’s lease can settle it.

What you get

Open source
  • Jobs live in PostgreSQL

    A job is a row, so you can query it, back it up and reason about it. The cloud queue is only a doorbell.

  • At-least-once delivery

    A job is settled by the worker that holds its lease. Delivery is at least once, so handlers are idempotent.

  • A repair loop

    One idempotent tick recovers dead workers’ jobs, runs cron, rings delayed jobs and rings again whatever a lost bell left behind.

  • A bounded cost

    The connection budget is a formula, and Terraform refuses a plan that breaks it.

  • A control panel and API

    Queues, jobs, flows, workers, the dead-letter queue, cron and webhooks, signed in with your OpenID Connect provider.

  • Google Cloud, AWS or neither

    Choose Pub/Sub or SQS in the cloud, or let PostgreSQL ring the bell on your own machine.

Run it yourself

No account. No licence key.

There is no account to create, no licence key to paste and no plan to pick. It is open source and free to use.

You need

  • Bun 1.4.2. It does not run on Node.
  • PostgreSQL 16 or later. The example starts one with Docker.
  • For the cloud: a Google Cloud project or an AWS account, and Terraform
git clone https://github.com/ChxisB/qelay.gitcd qelaybun install --frozen-lockfiledocker compose -f examples/orders/docker-compose.yml up -d --wait

Then point QCLOUD_DATABASE_URL at that database, create the tables and start a worker. The local quickstart takes about ten minutes and needs no cloud account.

Read the full guide github.com/ChxisB/qelay

Free, and staying free.

Qelay is open source and free to use. There are no plans, no seats and no licence keys. If Qelay saves you time, you can say thanks with a coffee.

Buy me a coffee