问题标签 [laravel-horizon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1416 浏览

laravel - laravel Horizo​​n - 调试作业未运行/处理

我正在使用 Laravel Horizo​​n 来处理排队的作业。下面是我的代码

在作业处理方法中,我已经登录到松弛通道。当执行这种类型的排队作业时,我得到了松弛消息。

有时,我说 1% 到 5%,当我派出工作时ProcessPodcast::dispatch(),我没有收到 slack 消息。而且我没有得到工作显示在 Horizo​​n Failed Job 页面下。这种行为是完全随机的。很难复制。我在想:

案例 #1:Laravel 没有创建作业,因此没有执行任何作业

案例 #2:Laravel 创建了作业,但 Horizo​​n 没有运行作业

ProcessPodcast无论哪种情况,检查作业是否保存到 Redis都会非常有帮助。我认为 Redis 不可能做到这一点。

请提供有关如何调试此问题的建议。

0 投票
2 回答
5229 浏览

php - 如何从 Laravel Horizo​​n 中的 Redis 队列重试所有失败的作业

你如何重试Laravel Horizo​​n 中所有失败的工作?似乎没有“全部重试”按钮,并且由于失败的作业未存储在表中,因此 artisan 命令不起作用。

0 投票
0 回答
602 浏览

php - Laravel Horizo​​n - 来自具有不同进程的同一主管的多个队列

当尝试使用 Laravel Horizo​​n 而不是 Laravel Forge 的队列设置时,我遇到了将两个工作人员“翻译”到 Horizo​​nconfig.php文件中的问题。

假设我们有两个队列:“queue1”和“queue2”,但是一个队列应该有不同的进程和不同的超时,我怎么能只用一个主管来实现呢?

当前设置是:

但我不想有 2 个主管,而只有 1 个。如何在保持不同尝试、流程和超时的同时实现这一点?

0 投票
1 回答
1541 浏览

laravel - QUEUE_CONNECTION 'database' 有效,但 'redis' 抛出 'Array to String conversion'

我只是想运行一个事件和监听器循环并将一个模型传递给它

这与 完美配合,QUEUE_CONNECTION=databaseQUEUE_CONNECTION=redis它会给我一个错误:

#message:“数组到字符串的转换”

#代码:0

#file:“/home/vagrant/Code/Upworks/myproj/vendor/laravel/framework/src/Illuminate/Queue/RedisQueue.php”

#线:302

#严重性:E_NOTICE

我的事件类如下所示:

但它根本没有让我的听众排队。


我的 config/queue.php,redis 数组如下所示:

它可能指的是关键的“队列”值吗?

0 投票
0 回答
524 浏览

laravel - 使用 Laravel Horizo​​n 的 redis-cli 上存在缺失的 failed_jobs

我们失败的作业表是空的,但是我们可以使用 redis-cli 看到丢失的作业和 job_id

keys *返回所有失败作业的列表

hget "horizon:production1335842"将返回失败作业的详细信息

如果我做

我可以看到失败的作业 ID 列表

如何将 redis 中的失败作业重新放入队列中?

此外,在 Horizo​​n.php 中,而不是

我应该有

?

非常感谢 !

0 投票
1 回答
1039 浏览

php - 从 Laravel 6 到 Horizo​​n,作业因允许的内存大小而失败

在收到 3000 个寄存器后通过循环运行作业:

允许的内存大小为 134217728 字节已用尽(尝试分配 16384 字节) {"exception":"[object] (Symfony\Component\Debug\Exception\FatalErrorException(code: 1): 允许的内存大小为 134217728 字节已用尽(尝试分配16384 字节)在 /var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:117)

我的工作有:public $timeout = 950;

我正在使用带有 php 7.2、Laravel 6、Horizo​​n、Redis、MySql 的 Laradock 环境。

我的设置horizo​​n.php有:

我的队列 redis 设置:

我关于内存的 php 信息:

我的 PHP 信息

我的 docker 环境内存。 我的 docker 桌面

0 投票
1 回答
680 浏览

laravel - 子域中的 Laravel Horizo​​n

如果我将 Horizo​​n 配置为在子域中运行,我应该指定什么前缀?

我做了测试,将值留空,但 ajax 请求没有指向子域。

问候,

在此处输入图像描述

0 投票
0 回答
649 浏览

laravel - 如何通过标签或 laravel 地平线中的任何内容杀死工作?

当我出于任何原因派遣工作时,我想杀死它,我该怎么做?

当我重新启动主管工作进入保留状态时,我的问题是?保留状态的任务什么时候会被 Worker 执行?

0 投票
1 回答
217 浏览

laravel - 为什么 Laravel Horizo​​n 执行排队命令的速度比简单的工匠队列:工作快得多?

我正在排队一个命令(通过另一个命令),如果由 queue:work 处理,执行大约需要 1 分钟,但如果通过 artisan horizo​​n 运行,只需要大约 15 秒。我已经验证并且代码得到正确执行 - 这个排队的命令将数据从文件加载到数据库中,并且我已经确认在这两种情况下都正确加载了数据。

我还记录了调用队列命令本身内部的“重”函数之前和之后的时间,并且日志确认了时间,即它与任何设置和拆卸活动无关。

如果需要,很高兴提供更多详细信息。任何想法为什么会有这种差异?

0 投票
1 回答
182 浏览

laravel - 每个作业的 Laravel Horizo​​n 运行时还是总吞吐量?

我对 Laravel Horizo​​n 吞吐量和运行时指标有疑问。

如果我们在某个时间点完成 1,000 个作业,并且该吞吐量的运行时间为0.045几秒

每个作业的运行时间是 0.045 秒,还是执行 1,000 个作业的运行时间?