@vite-hub/queue
v0.0.1
Published
Queue primitives and Vite/Nitro deployment integration for ViteHub.
Maintainers
Readme
@vite-hub/queue
@vite-hub/queue defines background job handlers by file path and keeps producers on one runQueue() API.
Install
pnpm add @vite-hub/queueAdd @vercel/queue when you use the Vercel provider.
Minimal API
// server/queues/welcome-email.ts
import { defineQueue } from "@vite-hub/queue"
export default defineQueue<{ email: string }>(async (job) => {
console.log(`Send welcome email to ${job.payload.email}`)
})// server/api/signup.post.ts
import { runQueue } from "@vite-hub/queue"
import { defineEventHandler, readBody } from "h3"
export default defineEventHandler(async (event) => {
return runQueue("welcome-email", await readBody<{ email: string }>(event))
})// nitro.config.ts
import { defineNitroConfig } from "nitro/config"
export default defineNitroConfig({
modules: ["@vite-hub/queue/nitro"],
queue: { provider: "cloudflare" },
})Vite and Nitro
Nitro discovers server/queues/<name>.ts; Vite also supports src/<name>.queue.ts through hubQueue(). The handler name comes from the file path, while provider output maps it to Cloudflare Queues or Vercel Queues.
Learn more at vitehub.dev.
