
Convex Cron Jobs
Define and operate Convex scheduled functions with intervals, cron expressions, monitoring, and retries for background work in a solo-built app.
Overview
Convex Cron Jobs is an agent skill most often used in Build (also Operate, Ship) that teaches scheduled function patterns on Convex—intervals, cron expressions, monitoring, and retries—for solo builders running backgroun
Install
npx skills add https://github.com/waynesutton/convexskills --skill convex-cron-jobsWhat is this skill?
- Interval and cron-expression scheduling patterns for Convex background functions
- Guidance on structuring scheduled handlers and idempotent job logic
- Job monitoring and observability practices for recurring runs
- Retry strategies for failed or partial scheduled executions
- Operational tuning aligned with Convex’s cron job model
Adoption & trust: 2.2k installs on skills.sh; 402 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need recurring backend work on Convex but are unsure how to schedule it, observe failures, or retry without duplicating side effects.
Who is it for?
Solo builders on Convex adding nightly maintenance, sync jobs, digests, or billing ticks who want agent-guided scheduling and ops patterns in one place.
Skip if: Teams not on Convex, one-off manual scripts with no schedule, or apps where all work is purely request-driven with no background cadence.
When should I use this skill?
When implementing or operating scheduled background tasks on Convex using interval or cron scheduling, job monitoring, or retry strategies.
What do I get? / Deliverables
You get concrete Convex cron and interval patterns, monitoring habits, and retry guidance so scheduled jobs are implementable in build and dependable in production.
- Scheduled function handlers and cron or interval job definitions for Convex
- Monitoring and retry approach documented for recurring jobs
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Cron jobs are introduced when you implement server-side scheduling on Convex, which is core backend work during the build phase. Subphase backend matches durable scheduled functions, database-backed jobs, and server execution patterns rather than UI or distribution work.
Where it fits
Define a nightly Convex cron to aggregate usage metrics and write results into a summary table.
Verify staging cron schedules and time zones before enabling the same jobs in production.
Trace repeated cron failures and adjust retry handling so partial runs do not double-charge or duplicate emails.
Schedule a weekly sync job that calls an external API and persists deltas through Convex actions or mutations.
How it compares
Use as Convex-specific procedural knowledge for crons—not as a generic OS crontab cheat sheet or a hosted queue SaaS integration.
Common Questions / FAQ
Who is convex-cron-jobs for?
It is for solo and indie developers building on Convex who need scheduled background functions and want clear patterns for cron syntax, monitoring, and retries inside their agent workflow.
When should I use convex-cron-jobs?
Use it during build when designing backend schedulers; during ship when validating cron behavior before go-live; and during operate when tuning retries and investigating failed recurring runs on Convex.
Is convex-cron-jobs safe to install?
Treat it like any third-party agent skill: read what it instructs the agent to run or deploy, and review the Security Audits panel on this Prism page before relying on it in a production Convex deployment.
SKILL.md
READMESKILL.md - Convex Cron Jobs
interface: icon_small: "./assets/small-logo.svg" icon_large: "./assets/large-logo.png" <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_3_23)"> <g clip-path="url(#clip1_3_23)"> <path d="M10.0643 12.5735C12.3769 12.3166 14.5572 11.0843 15.7577 9.02756C15.1892 14.1148 9.62646 17.3302 5.08583 15.356C4.66743 15.1746 4.30728 14.8728 4.06013 14.4848C3.03973 12.8825 2.7043 10.8437 3.18626 8.99344C4.56327 11.37 7.3632 12.8267 10.0643 12.5735Z" fill="#F3B01C"/> <path d="M3.1018 7.50072C2.16436 9.66714 2.12376 12.2034 3.27303 14.2907C-0.771507 11.2479 -0.72737 4.7362 3.2236 1.72378C3.58904 1.44535 4.02333 1.2801 4.47881 1.25494C6.3519 1.15614 8.25501 1.88006 9.58963 3.22909C6.87799 3.25604 4.23695 4.99308 3.1018 7.50072Z" fill="#8D2676"/> <path d="M10.8974 3.89562C9.52924 1.98794 7.38779 0.68921 5.04156 0.649695C9.57686 -1.40888 15.1555 1.92867 15.7629 6.86314C15.8194 7.32119 15.7452 7.78824 15.5421 8.20138C14.6948 9.92223 13.1236 11.2569 11.2876 11.7508C12.6328 9.25579 12.4668 6.20748 10.8974 3.89562Z" fill="#EE342F"/> </g> </g> <defs> <clipPath id="clip0_3_23"> <rect width="16" height="16" fill="white"/> </clipPath> <clipPath id="clip1_3_23"> <rect width="16" height="16" fill="white"/> </clipPath> </defs> </svg> --- name: convex-cron-jobs displayName: Convex Cron Jobs description: Scheduled function patterns for background tasks including interval scheduling, cron expressions, job monitoring, retry strategies, and best practices for long-running tasks version: 1.0.0 author: Convex tags: [convex, cron, scheduling, background-jobs, automation] --- # Convex Cron Jobs Schedule recurring functions for background tasks, cleanup jobs, data syncing, and automated workflows in Convex applications. ## Documentation Sources Before implementing, do not assume; fetch the latest documentation: - Primary: https://docs.convex.dev/scheduling/cron-jobs - Scheduling Overview: https://docs.convex.dev/scheduling - Scheduled Functions: https://docs.convex.dev/scheduling/scheduled-functions - For broader context: https://docs.convex.dev/llms.txt ## Instructions ### Cron Jobs Overview Convex cron jobs allow you to schedule functions to run at regular intervals or specific times. Key features: - Run functions on a fixed schedule - Support for interval-based and cron expression scheduling - Automatic retries on failure - Monitoring via the Convex dashboard ### Basic Cron Setup ```typescript // convex/crons.ts import { cronJobs } from "convex/server"; import { internal } from "./_generated/api"; const crons = cronJobs(); // Run every hour crons.interval( "cleanup expired sessions", { hours: 1 }, internal.tasks.cleanupExpiredSessions, {} ); // Run every day at midnight UTC crons.cron( "daily report", "0 0 * * *", internal.reports.generateDailyReport, {} ); export default crons; ``` ### Interval-Based Scheduling Use `crons.interval` for simple recurring tasks: ```typescript // convex/crons.ts import { cronJobs } from "convex/server"; import { internal } from "./_generated/api"; const crons = cronJobs(); // Every 5 minutes crons.interval( "sync external data", { minutes: 5 }, internal.sync.fetchExternalData, {} ); // Every 2 hours crons.interval( "cleanup temp files", { hours: 2 }, internal.files.cleanupTempFiles, {} ); // Every 30 seconds (minimum interval) crons.interval( "health check", { seconds: 30 }, internal.monitoring.healthCheck, {} ); export default crons; ``` ### Cron Expression Scheduling Use `crons.cron` for precise scheduling with cron expressions: ```typescript // convex/crons.ts import { cronJobs } from "convex/server"; import { internal } from "./_generated/api"; const crons = cronJobs(); // Every day at 9 AM UTC crons.cron( "morning notifications", "0 9 * * *", internal.notifications.sendMorningDigest, {} ); // Every Monday at 8 AM UTC crons.cron( "weekly summary", "0 8 * * 1", internal