SuperAPI AI 工具集

rails-background-jobs

通用与其它

查看项目

更新于 10-15 22:17

技能介绍

用途:在 Rails 应用中添加、配置或审查后台任务(background jobs)。核心原则是为幂等性和安全重试而设计,优先使用 Active Job 的统一 API,并根据 Rails 版本与规模选择后端。

主要能力与规则:参数传 ID 而非对象,在 perform 中重新加载;副作用(扣款、发邮件、调 API)前必须做幂等检查;用 retry_on 处理瞬时错误、discard_on 处理永久错误;perform 只做加载记录、幂等守卫、委托服务对象三件事,复杂编排应抽取为 service。后端选择:Rails 8 用 Solid Queue(基于数据库,无需 Redis),Rails 7 及更早高吞吐用 Sidekiq + Redis;开发/测试可用 :async 或 :inline。周期任务在 Rails 8 用 config/recurring.yml,Rails 7 用 cron 或 sidekiq-cron;仪表盘 Rails 8 用 Mission Control Jobs,Rails 7 用 Sidekiq Web。

使用方式:该技能设有硬性门槛,每个任务必须先写并验证测试(幂等、重试、错误处理),确认因任务不存在而失败后再写任务类。实现后运行完整测试套件,确认任务出现在队列仪表盘,并通过入队两次验证第二次为空操作。若任务要求运维产物,在 process_log.md 记录后端、重试与幂等决策。

适用场景:Rails 后台任务的新增、配置与代码审查,涉及重试策略、幂等性、周期任务与后端选型。

限制:资料未提供具体安装命令、价格或平台信息;示例代码与配置片段见原文,此处不展开。