问题标签 [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.
laravel - laravel Horizon - 调试作业未运行/处理
我正在使用 Laravel Horizon 来处理排队的作业。下面是我的代码
在作业处理方法中,我已经登录到松弛通道。当执行这种类型的排队作业时,我得到了松弛消息。
有时,我说 1% 到 5%,当我派出工作时ProcessPodcast::dispatch()
,我没有收到 slack 消息。而且我没有得到工作显示在 Horizon Failed Job 页面下。这种行为是完全随机的。很难复制。我在想:
案例 #1:Laravel 没有创建作业,因此没有执行任何作业
案例 #2:Laravel 创建了作业,但 Horizon 没有运行作业
ProcessPodcast
无论哪种情况,检查作业是否保存到 Redis都会非常有帮助。我认为 Redis 不可能做到这一点。
请提供有关如何调试此问题的建议。
php - 如何从 Laravel Horizon 中的 Redis 队列重试所有失败的作业
你如何重试Laravel Horizon 中所有失败的工作?似乎没有“全部重试”按钮,并且由于失败的作业未存储在表中,因此 artisan 命令不起作用。
php - Laravel Horizon - 来自具有不同进程的同一主管的多个队列
当尝试使用 Laravel Horizon 而不是 Laravel Forge 的队列设置时,我遇到了将两个工作人员“翻译”到 Horizonconfig.php
文件中的问题。
假设我们有两个队列:“queue1”和“queue2”,但是一个队列应该有不同的进程和不同的超时,我怎么能只用一个主管来实现呢?
当前设置是:
但我不想有 2 个主管,而只有 1 个。如何在保持不同尝试、流程和超时的同时实现这一点?
laravel - QUEUE_CONNECTION 'database' 有效,但 'redis' 抛出 'Array to String conversion'
我只是想运行一个事件和监听器循环并将一个模型传递给它
这与 完美配合,QUEUE_CONNECTION=database
但QUEUE_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 数组如下所示:
它可能指的是关键的“队列”值吗?
laravel - 使用 Laravel Horizon 的 redis-cli 上存在缺失的 failed_jobs
我们失败的作业表是空的,但是我们可以使用 redis-cli 看到丢失的作业和 job_id
keys *
返回所有失败作业的列表
hget "horizon:production1335842"
将返回失败作业的详细信息
如果我做
我可以看到失败的作业 ID 列表
如何将 redis 中的失败作业重新放入队列中?
此外,在 Horizon.php 中,而不是
我应该有
?
非常感谢 !
php - 从 Laravel 6 到 Horizon,作业因允许的内存大小而失败
在收到 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、Horizon、Redis、MySql 的 Laradock 环境。
我的设置horizon.php有:
我的队列 redis 设置:
我关于内存的 php 信息:
laravel - 如何通过标签或 laravel 地平线中的任何内容杀死工作?
当我出于任何原因派遣工作时,我想杀死它,我该怎么做?
当我重新启动主管工作进入保留状态时,我的问题是?保留状态的任务什么时候会被 Worker 执行?
laravel - 为什么 Laravel Horizon 执行排队命令的速度比简单的工匠队列:工作快得多?
我正在排队一个命令(通过另一个命令),如果由 queue:work 处理,执行大约需要 1 分钟,但如果通过 artisan horizon 运行,只需要大约 15 秒。我已经验证并且代码得到正确执行 - 这个排队的命令将数据从文件加载到数据库中,并且我已经确认在这两种情况下都正确加载了数据。
我还记录了调用队列命令本身内部的“重”函数之前和之后的时间,并且日志确认了时间,即它与任何设置和拆卸活动无关。
如果需要,很高兴提供更多详细信息。任何想法为什么会有这种差异?
laravel - 每个作业的 Laravel Horizon 运行时还是总吞吐量?
我对 Laravel Horizon 吞吐量和运行时指标有疑问。
如果我们在某个时间点完成 1,000 个作业,并且该吞吐量的运行时间为0.045
几秒
每个作业的运行时间是 0.045 秒,还是执行 1,000 个作业的运行时间?