bull-horizon

Bull Horizon

Bull Horizon

Standard UI for Bull and BullMQ.

Demo

What is it?

Bull Horizon is a GraphQL-backed dashboard and set of middleware adapters for monitoring Bull and BullMQ job queues β€” inspect jobs, retry/remove them, search/filter with jsonata expressions, and optionally collect historical metrics per queue. It ships as a library you mount inside your own Node.js app (Express, Koa, Hapi or Fastify), or run standalone via the CLI.

This project is a continuation of the original bull-monitor by Ilya Strus, archived by its author in 2023. Bull Horizon picks up from there, republished under a new npm scope (@bull-horizon/*), starting with a migration off the discontinued Apollo Server v2/v3.

Packages

Package Description
@bull-horizon/express Express middleware adapter
@bull-horizon/koa Koa middleware adapter
@bull-horizon/hapi Hapi plugin adapter
@bull-horizon/fastify Fastify plugin adapter
@bull-horizon/cli Standalone CLI, no app integration required
Nest example Usage example inside a NestJS app

Each adapter’s README has framework-specific install/usage instructions.

Quick start (Express)

npm i @bull-horizon/express
import { BullMonitorExpress } from '@bull-horizon/express';
import { BullAdapter } from '@bull-horizon/root/dist/bull-adapter';
import Express from 'express';
import Queue from 'bull';

(async () => {
  const app = Express();
  const monitor = new BullMonitorExpress({
    queues: [new BullAdapter(new Queue('my-queue', 'REDIS_URI'))],
  });
  await monitor.init();
  app.use('/bull-horizon', monitor.router);
  app.listen(3000);
})();

See the Express package README for the full set of options (readonly queues, metrics collection, GraphQL introspection toggle, and more).

License

MIT