You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8 Jobs不派发 配置database队列驱动仍同步执行问题

排查步骤

  • 优先清理配置缓存
    修改.env的队列配置后如果没有清理Laravel的配置缓存,会导致新配置不生效,先执行命令清理:
    php artisan config:clear
    
    清理后可以用tinker验证当前配置是否生效:
    php artisan tinker
    >>> config('queue.default')
    
    确认输出为database则配置生效。
  • 检查是否有硬编码的队列连接覆盖
    检查你的CreateJob类里是否声明了$connection = 'sync'属性,或是派发任务时加了->onConnection('sync')调用,上述两种情况都会忽略全局队列配置,强制走同步执行。
  • 检查是否开启了队列模拟
    排查全局中间件、服务提供者或者当前请求链路里有没有写Queue::fake()的逻辑,队列模拟开启后所有任务都不会被实际写入队列。
  • 确认队列表是否正常创建
    如果你还没有生成队列相关的数据表,先执行迁移生成:
    php artisan queue:table
    php artisan migrate
    
    确认数据库中存在jobs表且字段结构正常。

完成上述排查后再重新派发任务,即可看到任务会被写入jobs表,接口会直接返回不会等待SSH操作执行,启动php artisan queue:work后任务会被异步消费。

内容的提问来源于stack exchange,提问作者Alexandru Popa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:48:03