验证步骤会从当前配置的队列执行一个真实任务
原文依据:3 处Skill 把 queue:work --once 列为实现检查点;该命令不是只读检查,而是取出并处理一个排队任务。任务可能包含邮件、外部 API、发布、计费或数据库修改等应用特定副作用。
如果当前项目指向生产 Redis、SQS 或数据库队列,审查代码时可能提前执行真实业务任务,并改变数据或联系用户。
这是主动验证指令,不是只读状态检查:queue:work --once 会从当前配置的队列取出并执行一个任务。该 Skill 自己的任务模板会更新文章状态和发布时间,因此即使只运行一次也可能改变数据库;实际项目的任务还可能有其他副作用。风险只在代理执行该检查点且队列非空时发生。用户可限制该命令只能在隔离测试环境运行,或要求先确认连接、队列名称和待执行任务。
Run these at each workflow stage to confirm correctness before proceeding:| Stage | Command | Expected Result ||-------|---------|-----------------|| After migration | `php artisan migrate:status` | All migrations show `Ran` || After routing | `php artisan route:list --path=api` | New routes appear with correct verbs || After job dispatch | `php artisan queue:work --once` | Job processes without exception || After implementation | `php artisan test --coverage` | >85% coverage, 0 failures || Before PR | `./vendor/bin/pint --test` | PSR-12 linting passes |查看另外 2 个位置
# Process one jobphp artisan queue:work --once public function handle(): void { $this->post->update([ 'status' => PostStatus::Published, 'published_at' => now(), ]); }