mirror of
https://github.com/waynesutton/markdown-site.git
synced 2026-01-12 04:09:14 +00:00
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import { cronJobs } from "convex/server";
|
|
import { internal } from "./_generated/api";
|
|
|
|
const crons = cronJobs();
|
|
|
|
// Clean up stale sessions every 5 minutes
|
|
crons.interval(
|
|
"cleanup stale sessions",
|
|
{ minutes: 5 },
|
|
internal.stats.cleanupStaleSessions,
|
|
{}
|
|
);
|
|
|
|
// Weekly digest: Send every Sunday at 9:00 AM UTC
|
|
// Posts from the last 7 days are included
|
|
// To disable, set weeklyDigest.enabled: false in siteConfig.ts
|
|
crons.cron(
|
|
"weekly newsletter digest",
|
|
"0 9 * * 0", // 9:00 AM UTC on Sundays
|
|
internal.newsletterActions.sendWeeklyDigest,
|
|
{
|
|
siteUrl: process.env.SITE_URL || "https://example.com",
|
|
siteName: process.env.SITE_NAME || "Newsletter",
|
|
}
|
|
);
|
|
|
|
// Weekly stats summary: Send every Monday at 9:00 AM UTC
|
|
// Includes subscriber count, new subscribers, newsletters sent
|
|
crons.cron(
|
|
"weekly stats summary",
|
|
"0 9 * * 1", // 9:00 AM UTC on Mondays
|
|
internal.newsletterActions.sendWeeklyStatsSummary,
|
|
{
|
|
siteName: process.env.SITE_NAME || "Newsletter",
|
|
}
|
|
);
|
|
|
|
// Clean up old content versions daily at 3:00 AM UTC
|
|
// Deletes versions older than 3 days to maintain storage efficiency
|
|
crons.cron(
|
|
"cleanup old content versions",
|
|
"0 3 * * *", // 3:00 AM UTC daily
|
|
internal.versions.cleanupOldVersions,
|
|
{}
|
|
);
|
|
|
|
export default crons;
|
|
|