Frameworks

h3

Mount Workbench with @getworkbench/h3 — also used by Nuxt, SolidStart, and Analog via Nitro.

Install

Shell
npm i @getworkbench/h3 bullmq h3

Mount

TypeScript
import { createServer } from "node:http";
import { createApp, createRouter, toNodeListener } from "h3";
import { Queue } from "bullmq";
import { workbench } from "@getworkbench/h3";

const emailQueue = new Queue("email", {
  connection: { url: process.env.REDIS_URL! },
});

const handler = workbench({ queues: [emailQueue], basePath: "/jobs" });

const router = createRouter()
  .use("/jobs", handler)
  .use("/jobs/**", handler);
const app = createApp().use(router);

createServer(toNodeListener(app)).listen(3000);

h3's ** only matches one-or-more sub-segments — register the handler at both /jobs and /jobs/**.

For Nuxt, prefer @getworkbench/nuxt which wraps the h3 adapter.

Resources