用途:该技能面向 apps/api/src/lib/workflows/ 目录下基于 QStash 的工作流,帮助创建、调试或修改自动化任务,例如定时数据抓取、数据更新管线以及社交媒体发布。
主要能力:支持新增定时数据抓取工作流、排查工作流执行错误、调整现有调度或逻辑、接入新数据源、新增社交媒体发布工作流。目录结构包含 cars/update.ts(车辆注册数据)、coe/update.ts(COE 投标数据)以及 social/ 下的 discord.ts、linkedin.ts、telegram.ts、twitter.ts。
使用方式:工作流通过 QStash SDK 的 serve 定义,使用 context.run() 划分步骤,例如 fetch-data、process-data、store-results。调度可通过 SST 基础设施(infra/)、QStash 控制台或手动调用 API 端点触发。新增工作流需创建文件、定义步骤、在 apps/api/src/routes/ 添加路由处理器、按需配置调度并补充测试。测试命令:pnpm -F @sgcarstrends/api test -- src/lib/workflows;本地可用 pnpm dev 启动后通过 curl -X POST http://localhost:3000/api/workflows/cars/update 触发。
适用场景:需要为 API 服务添加或维护定时数据更新与社交发布自动化时使用。
限制与依赖:需要配置 DATABASE_URL、UPSTASH_REDIS_REST_URL、UPSTASH_REDIS_REST_TOKEN、QSTASH_TOKEN 及各服务专用令牌。调试可查看 QStash 控制台、CloudWatch 日志并检查环境变量与数据库、Redis 连通性。建议保证幂等性、步骤粒度小、完善日志与超时配置并编写单元测试。其他细节暂未提供。