import { cronJobs } from "convex/server";
import { v } from "convex/values";
import { internal } from "./_generated/api";
import { internalAction } from "./_generated/server";
const crons = cronJobs();
export const scheduleRecurringReminder = internalAction({
args: {
reminderId: v.id("reminders"),
cronExpression: v.string(),
},
handler: async (_ctx, { reminderId, cronExpression }) => {
console.info(
`Scheduling recurring reminder ${reminderId} with cron expression ${cronExpression}`,
);
crons.cron(
`Job ${reminderId}`,
cronExpression,
internal.reminders.scheduled.sendReminder,
{
reminderId,
},
);
},
});
export default crons;
import { cronJobs } from "convex/server";
import { v } from "convex/values";
import { internal } from "./_generated/api";
import { internalAction } from "./_generated/server";
const crons = cronJobs();
export const scheduleRecurringReminder = internalAction({
args: {
reminderId: v.id("reminders"),
cronExpression: v.string(),
},
handler: async (_ctx, { reminderId, cronExpression }) => {
console.info(
`Scheduling recurring reminder ${reminderId} with cron expression ${cronExpression}`,
);
crons.cron(
`Job ${reminderId}`,
cronExpression,
internal.reminders.scheduled.sendReminder,
{
reminderId,
},
);
},
});
export default crons;