SuperAPI AI 工具集

laravel-queues

编程与开发

查看项目

更新于 10-26 17:21

技能介绍

Laravel Queues 是一个面向 Laravel 13 的后台作业与队列开发技能,核心变化是采用 PHP Attributes 作为 Queueable(Job、Listener、Notification、Mailable、Broadcast Event)的主要配置机制,并将队列路由集中到 AppServiceProvider::boot() 中的 Queue::route()。

用途:帮助开发者在 Laravel 13 项目中实现后台任务,包括 Job 定义、队列连接与队列名指定、重试与超时策略、退避与失败处理、批处理、任务链、中间件以及集中化路由。

主要能力:

  • 属性配置:提供 #[Connection('redis')]、#[Queue('podcasts')]、#[Tries(5)]、#[Timeout(120)]、#[MaxExceptions(3)]、#[Backoff([10, 30, 60])]、#[FailOnTimeout]、#[UniqueFor(3600)]、#[DeleteWhenMissingModels]、#[Delay(60)]、#[DebounceFor(30, maxWait: 120)] 等属性,替代传统公共属性写法。
  • 集中路由:通过 Queue::route() 按 Job 类、接口、trait 或父类指定连接与队列;示例中包括 Queue::route([ProcessVideo::class => ['redis', 'videos']]) 以及 Queue::forward('reports', 'reports.fifo', 'sqs')(13.26+)。
  • 组合能力:覆盖 batching、chaining、middleware、failed-jobs、horizon、testing 等主题。
  • 13.x 新增:Bus::bulk($jobs)(13.13+)、PreparesForDispatch 接口(13.9+)、Release 中间件(13.18+)、DebounceFor(13.6+)。
  • 模板:提供 QueueableJob.php.md、BatchJob.php.md、ChainedJobs.php.md、JobMiddleware.php.md、JobTest.php.md 等模板。

使用方式:技能描述中要求先并行启动 3 个 Agent 进行代码库审计、L13 队列与 Queue::route() 文档核验以及属性模式查询,实现后运行 fuse-ai-pilot:sniper 验证。示例 Job 使用 Queueable trait 与上述属性,构造函数接收领域对象,handle 注入服务,failed 记录错误。

适用场景:Laravel 13 后台任务开发、队列架构迁移(L12→L13)、Redis 队列与 Horizon 监控、事务内分发需 afterCommit 的场景、需要批处理/链式/中间件/失败重试的作业。

限制:内容面向 Laravel 13,旧版公共属性写法仅在 legacy-properties.md 中说明;不混合 #[Tries] 与 public int $tries;避免在构造函数存储大对象或闭包;生产环境不使用 sync 驱动;事务内分发需 afterCommit。具体价格、平台和效果暂未提供。分类为编程与开发。