首页 > 解决方案 > Laravel Horizo​​n 不执行挂起的作业 - Kubernetes 和 Docker 环境

问题描述

我们的 Laravel 应用程序在 Kubernetes 中有两个不同的 pod,

问题是当我检查地平线仪表板时,它显示“活动”,我可以在“待定作业”部分看到作业,但它们从未真正执行。他们只是无所事事地坐在那里。

现在,当我在运行 apache 的 pod 中进行 SSH 并手动运行命令“php artisan horizo​​n”时,它实际上会执行所有待处理的作业。

我已经确保了以下几点:

  1. 两个 pod 都连接到同一个 Redis 数据库服务
  2. 两个 pod 的 Horizo​​n 前缀相同

标签: phplaraveldockerkuberneteslaravel-horizon

解决方案


仔细检查您APP_ENV在 Horizo​​n.php 配置中的匹配环境之一。否则,horizo​​n 不会启动任何队列工作者。

默认情况下,仅local提供production环境:

https://laravel.com/docs/8.x/horizo​​n#environments


推荐阅读