Skip to content
Contents

Redis

Background supports Redis as a queue. Redis queue depends on ioredis package.

Please install it as below

bash
npm install ioredis

Example Usage

typescript
import Redis from "ioredis"
import {RedisStorage,DistributedJobQueue} from "@backgroundjs/core"

const redis = new Redis(process.env.REDIS_URL || "redis://localhost:6379");

const storage = new RedisJobStorage(redis, { keyPrefix: "test:" });
const queue = new DistributedJobQueue(storage, {
    concurrency: 1,
    name: "worker-1",
    processingInterval: 100,
});

const jobHandler = (data:{message:string})=>{
    console.log("job handled")
}

queue.register("test-job",jobHandler)
queue.register("repeatable-job",jobHandler)

const job = await queue.add("test-job", { message: "Hello, World!" });

const scheduledTime = new Date(Date.now() + 1000 * 60);
const scheduledJob = await queue.schedule(
    "test-job",
    { scheduled: true },
    scheduledTime,
);
const repeatableJob = await queue.addRepeatable(
    "repeatable-job",
    { message:"test message" },
    {
        every: 1,
        unit: "seconds",
    },
);