【发布时间】:2020-09-25 22:18:53
【问题描述】:
我们的 Laravel 应用在 Kubernetes 中有两个不同的 pod,
- 一个在 80 端口上运行的 apache,(CMD /usr/sbin/apache2ctl -D FOREGROUND)
- 和另一个正在运行的工作人员 (Laravel Horizon) (CMD php /var/www/artisan horizon)
问题是,当我检查 Horizon 仪表板时,它显示“活动”,我可以在“待定作业”部分看到作业,但它们从未真正执行。他们只是坐在那里闲着。
现在,当我在运行 apache 的 pod 中进行 SSH 并手动运行命令“php artisan horizon”时,它实际上会执行所有待处理的作业。
我已经确保了以下几点:
- 两个 pod 都连接到同一个 Redis 数据库服务
- 两个 pod 的 Horizon 前缀相同
【问题讨论】:
-
我认为你应该用supervisor运行它,在容器中安装一个supervisor然后执行容器看看会发生什么。
-
@AdnanMumtaz 我试过了,但没有任何改变。
标签: php laravel docker kubernetes laravel-horizon