SuperAPI AI 工具集

convex-cron-jobs

部署与运维

查看项目

更新于 10-15 22:39

技能介绍

用途:在 Convex 应用中调度周期性函数,用于后台任务、清理作业、数据同步和自动化工作流。

主要能力:支持固定间隔调度(crons.interval)与 cron 表达式调度(crons.cron);支持失败自动重试;可通过 Convex 仪表盘监控;支持向任务传递静态参数;可结合日志表记录执行耗时、处理数量与错误数;对大数据集可用分页游标分批处理,并用 ctx.scheduler.runAfter 续跑下一批;外部 API 调用应使用 action。

使用方式:在 convex/crons.ts 中从 convex/server 导入 cronJobs,从 ./_generated/api 导入 internal,创建 const crons = cronJobs(),用 crons.interval 或 crons.cron 注册任务并 export default crons。任务应调用 internal 函数(internalMutation、internalQuery、internalAction)以保证安全。cron 表达式为五段式:分 时 日 月 周,例如 0 0 * * * 表示每天 UTC 午夜,*/15 * * * * 表示每 15 分钟。

适用场景:过期会话与临时文件清理、外部数据定时同步、日报周报与月度账单、健康检查、批量任务处理。

限制与注意:Convex cron 表达式使用 UTC,需自行考虑时区;避免使用已弃用的 crons.hourly、crons.daily 等辅助方法;长时间运行的 mutation 应拆分为批次;需处理错误并记录日志;除非明确指示,不要运行 npx convex deploy 或任何 git 命令。实现前建议查阅官方文档:https://docs.convex.dev/scheduling/cron-jobs。