A light-weight wrapper class for Agenda library. Only developed for a personal project to ease re-usability.
main.js
import { AppAgenda } from "agenda-schedule-wrapper";
//import mongoose from 'mongoose';
await AppAgenda.init({
dbUrl: "mongodb://localhost/agenda",
//db: await () => mongoose.connect(dbUrl),
collection: "appointments",
});
controller.js
import { AppAgenda } from "agenda-schedule-wrapper";
import {BOOK_APPOINTMENT} from "./constants"
const when = new date() || moment().toDate()
const appointment = {message:'Tada!'}
(async () => {
await AppAgenda.dispatch({
name: BOOK_APPOINTMENT,
onTick: async (job) => {
console.log(job.attrs);
},
});
await AppAgenda.agenda.schedule(when, BOOK_APPOINTMENT, appointment);
})();