Netlify Queue

Configure Netlify Async Workloads and run named queues on Netlify.

Use Netlify Queue when background work should run through Netlify Async Workloads.

Install the SDK

Terminal
pnpm add https://pkg.pr.new/vite-hub/vitehub/@vitehub/queue@main @netlify/async-workloads

Configure Netlify

nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@vitehub/queue/nuxt'],
})

On Netlify hosting, ViteHub uses the Netlify queue provider automatically. ViteHub defaults event to the discovered queue name when you omit it. Add event only when the Netlify event name should differ from the filename. Add baseUrl and apiKey when your app needs to publish outside Netlify's default runtime setup.

Define a queue

server/queues/welcome-email.ts
import { defineQueue } from '@vitehub/queue'

export default defineQueue(async (job) => {
  return {
    email: job.payload?.email,
  }
}, {
  config: {
    eventName: 'welcome-email',
    maxConcurrency: 2,
  },
})

What changes on Netlify

ConcernBehavior
Event routingqueue.event defaults to the discovered queue name and can override it when needed.
Provider handleThe queue handle exposes sendEvent() and createHandler() for Netlify-specific integration points.
Local optionsPut Async Workloads handler configuration inside defineQueue(..., options) with config when one queue needs provider-specific overrides.
Choose Netlify when your background execution should follow Netlify's Async Workloads model instead of a traditional queue client.