SuperAPI AI 工具集

convex-actions-scheduling

编程与开发

查看项目

更新于 10-16 02:39

技能介绍

用途:本技能面向 Convex 后端开发,指导如何编写 actions(非确定性操作)、使用调度器执行后台任务、创建 cron 定时任务,以及编排复杂工作流。适用于调用外部 API、后台作业处理、延迟或周期性任务、多步骤流程等场景。

主要能力:actions 可调用外部 API、使用 Node.js 模块并编排多个查询/变更,但无直接数据库访问,需通过 ctx.runQuery 与 ctx.runMutation 读写。文件使用 Node.js 模块时需在顶部加 "use node";。调度支持 ctx.scheduler.runAfter(延迟毫秒)、runAt(指定时间戳)与 cancel 取消。cron 任务在 convex/crons.ts 中用 cronJobs() 定义,支持 interval(如 { hours: 1 }、{ minutes: 5 })与标准 cron 表达式(如 "0 9 * * *")。编排模式包括 Saga 补偿事务、Fan-Out/Fan-In 并行处理与聚合、指数退避加抖动的重试、幂等键防重复处理。

使用方式:在 Convex 项目中按上述 API 编写 action、mutation 与 crons.ts,通过 internal 引用内部函数。代码库启用 @typescript-eslint/no-explicit-any,禁止使用 any,否则构建失败。

限制:actions 不能直接访问 ctx.db;cron 必须定义在 convex/crons.ts;资料未提供安装命令、收费、平台支持范围等细节。