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

Laravel 11升级后Horizon任务停滞问题求助

Laravel 11升级后Horizon任务停滞问题求助

各位好,想请教一个Laravel升级后遇到的Horizon任务问题:

我们的项目里Horizon配置了独立的Redis连接(和缓存用的不是同一个),最近从Laravel 10升级到11之后,出现了一个奇怪的情况——所有在Laravel 10版本下调度的旧任务都卡在pending状态完全不执行,但升级后新创建的任务运行一切正常。

我们已经做了一些排查:

  • 确认了新任务能正确写入指定的Redis实例,键前缀也和旧任务一致
  • 对比新旧任务的Redis存储结构后,唯一发现的差异是delay.dumpDateProperties.timezone字段的存储格式:
    • 旧任务的时区是序列化的Carbon对象:
      "timezone":"O:21:\"Carbon\\CarbonTimeZone\":2:{s:13:\"timezone_type\";i:3;s:8:\"timezone\";s:3:\"UTC\";}"
      
    • 新任务则是直接存储的字符串:
      "timezone": "UTC"
      
  • 我们试着用Redis的HSET命令手动修改了旧任务的这个时区字段,改成和新任务一样的字符串格式,但修改后任务还是没有触发执行
  • 另外比较头疼的是,Horizon似乎没有提供手动运行pending任务的功能,没法强制触发旧任务来验证修复效果

有没有朋友遇到过类似的升级兼容问题?或者有什么其他排查方向、修复思路可以分享的?非常感谢大家的帮助!

备注:内容来源于stack exchange,提问作者InS0mN1aC

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 11:53:12