我们已经让 Horizon 运行了很长一段时间,并且没有任何问题。但是在我们最近部署到生产环境之后,它仍然处于非活动状态,并且没有启动任何工作人员。
我看不到问题所在,我们也没有将任何错误记录到 bugsnag 中,所以我在这里有点迷失了。
调试 Horizon 问题的最佳方法是什么?我已经验证过了,可以和redis对话了。仪表板还显示队列中的作业,因此这只是工作人员未启动的问题。
我们正在使用 Laravel forge 设置我们的实例,我可以确认在正确的目录中有一个运行 php artisan horizon 的守护进程。在服务器上手动运行该命令也没有给我太多可以使用的信息。
我敢肯定这里一定有一些错误,但它不是被捕获/显示/什么的。关于如何正确调试的任何想法?
这是 config/horizon.php 的内容:
<?php
return [
'use' => 'default',
'waits' => [
'redis:default' => 60,
],
'environments' => [
'dev' => [
'all-prio' => [
'connection' => 'redis',
'queue' => ['default', 'high', 'medium', 'low'],
'balance' => 'auto',
'processes' => 10,
'tries' => 3,
],
],
'acc' => [
'all-prio' => [
'connection' => 'redis',
'queue' => ['default', 'high', 'medium', 'low'],
'balance' => 'auto',
'processes' => 10,
'tries' => 3,
],
],
'production' => [
'high-prio' => [
'connection' => 'redis',
'queue' => ['high'],
'balance' => 'auto',
'processes' => 10,
'tries' => 5,
],
'default-prio' => [
'connection' => 'redis',
'queue' => ['medium', 'default'],
'balance' => 'auto',
'processes' => 10,
'tries' => 3,
],
'low-prio' => [
'connection' => 'redis',
'queue' => ['low'],
'balance' => 'auto',
'processes' => 5,
'tries' => 3,
],
],
],
];
该环境在该环境中正确设置为“生产”。
这是 config/database.php redis 部分的内容:
'redis' => [
'cluster' => false,
'default' => [
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
]