@meridianjs/job-queue-local
v1.0.1
Published
Meridian local job queue — in-process scheduler for development
Readme
@meridianjs/job-queue-local
In-process cron scheduler for MeridianJS, backed by node-cron. Designed for local development and testing.
Jobs are registered in-memory and lost on process restart. For production use, replace this with @meridianjs/job-queue-redis.
Installation
npm install @meridianjs/job-queue-localConfiguration
Register in meridian.config.ts:
export default defineConfig({
modules: [
{ resolve: "@meridianjs/job-queue-local" },
],
})No options required.
Writing Jobs
Place job files under src/jobs/. Each file exports a default handler and a config object:
// src/jobs/send-reminders.ts
import type { JobConfig } from "@meridianjs/types"
export default async function handler({ container }: { container: any }) {
const logger = container.resolve("logger") as any
logger.info("Running reminder job")
// ... your logic here
}
export const config: JobConfig = {
name: "send-reminders",
schedule: "0 9 * * *", // every day at 9 AM (cron expression)
}Interval-based scheduling is also supported:
export const config: JobConfig = {
name: "cleanup",
schedule: { interval: 60_000 }, // every 60 seconds
}The framework auto-loads all files in src/jobs/ at startup.
Switching to Redis in Production
// development
{ resolve: "@meridianjs/job-queue-local" }
// production
{ resolve: "@meridianjs/job-queue-redis", options: { url: process.env.REDIS_URL } }License
MIT
