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",
},
);