LLaraNode
Queue Package

Queue Workers

Workers process jobs from the queue.

Queue Workers

Workers process jobs from the queue.

Starting a Worker

pnpm exec artisan queue:work

Worker Options

pnpm exec artisan queue:work --delay=3 --memory=128 --timeout=60 --sleep=3 --tries=3
OptionDefaultDescription
--delay0Delay between jobs
--memory128Memory limit (MB)
--timeout60Job timeout (seconds)
--sleep3Sleep when no jobs
--tries1Default max tries
--queuedefaultQueue to process
--rest0Rest between jobs

Worker Events

worker.on("worker:start", () => console.log("Worker started"));
worker.on("worker:stop", () => console.log("Worker stopped"));
worker.on("worker:pause", () => console.log("Worker paused"));
worker.on("worker:resume", () => console.log("Worker resumed"));
worker.on("job:processing", (job) => console.log("Processing:", job));
worker.on("job:processed", (job) => console.log("Processed:", job));
worker.on("job:failed", (job, error) => console.log("Failed:", error));
worker.on("job:exception", (job, error) => console.log("Exception:", error));

Programmatic Worker

import { Worker } from "@lara-node/queue";

const worker = new Worker({
  delay: 3,
  memory: 128,
  timeout: 60,
  sleep: 3,
  maxTries: 3,
});

await worker.daemon();

Control Worker

await worker.pause();
await worker.resume();
await worker.stop();

Restart Worker

pnpm exec artisan queue:restart

Next Steps