问题标签 [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 投票
3 回答
1124 浏览

laravel - 我关闭 ssh 后 Laravel Horizo​​n 停止

我刚刚开始使用 Laravel 和 Horizo​​n,所以如果我的问题有点过分,我很抱歉。

我已经用 Horizo​​n 和一个 Redis 数据库设置了 Laravel。只要我打开 SSH 连接并在php artisan horizon其中运行命令,一切正常。一旦我关闭 SSH 会话,它就会停止工作。

我对这些东西很陌生,所以我想知道会有什么解决方案。我发现有人说你应该这样做php artisan horizon &,但这似乎工作了几分钟,然后什么也没有。

该系统是在网络服务器上设置的,所以也许 cronjob 可以修复它。但我对这些事情的经验非常有限。我希望那里有人可以提供帮助。

0 投票
1 回答
2957 浏览

php - Laravel Horizo​​n - 一个主管运行多个队列

任何人都可以帮助在 Horizo​​n.php 中进行正确配置以让单个主管运行多个队列吗?我努力了:

也:

第二个队列在 Horizo​​n 中正确显示,我可以向他们发送作业,但它们只是没有得到处理。

我在 forge 上进行了配置,并使用带有以下 queue.php 配置的 redis 设置了我的队列:

0 投票
1 回答
484 浏览

laravel - 在 laravel 中标记为已完成的失败作业

我将 Laravel 5.7 与 php 7.3、Apache2、Redis 一起用于 Laravel Horizo​​n。

我遇到了一个问题,如果有任何错误,工作永远不会失败。前任。如果我忘记添加使用 App\Order; 那么理想情况下这应该被标记为失败,但目前它现在这样做了,这会造成很多工作正在执行的混乱。我从一开始就遇到这个问题。

除此之外,即使存在任何其他错误,例如计算错误(除以 0)和数组缺少键等,作业也不会被标记为完成。

0 投票
1 回答
1509 浏览

php - Laravel Horizo​​n 队列处理,但未收到预期结果

我正在使用 Laravel Horizo​​n (Redis),但我似乎无法正确处理我的工作。

当我拨打我收到的路线电话时,我可以看到:

在日志中,它在 Horizo​​n Dashboard 上看起来很好。

但是我的工作似乎没有运行代码。


CheckInVisitor.php

laravel.log似乎没有使用我的 Log 语句进行更新,并且我的数据库在函数中仍然为空,Model::create我尝试先创建一个实例,$visitor = new Visitor();然后$visitor->fill()无济于事。

地平线仪表板显示作业已成功完成。日志文件中没有错误。

访客控制器.php

0 投票
1 回答
3824 浏览

laravel - Laravel 水平管理器在水平:: 终止并运行伪造守护程序后不会重新启动

Horizo​​n 运行良好,但只是最近,在部署后,主管和队列工作人员不会再次启动备份,并且 Horizo​​n GUI 显示“非活动”

为了让它们再次运行,我可以:

  • 从 forge 中重新启动守护进程
  • 重新启动主管/etc/init.d/supervisor restart

我的部署脚本php artisan horizon:terminate在其中。我也尝试过重置/清除及其组合。

当我在具有非活动水平的命令中运行终止时,它似乎什么都不做。当我在 Horizo​​n 处于活动状态的情况下运行相同的命令时,它会将其关闭,但守护程序不会重新启动主管。

守护进程在所有这些过程中运行时没有任何错误。

应该终止删除并启动服务还是守护程序本身?

0 投票
2 回答
7144 浏览

php - Laravel Horizo​​n 抛出错误:调用未定义的函数 Laravel\Horizo​​n\Console\pcntl_async_signals()

我已根据文档成功安装和设置 laravel-horizo​​n

当我运行这个命令时php artisan horizon

它抛出以下错误:

Symfony\Component\Debug\Exception\FatalThrowableError : 调用未定义的函数 Laravel\Horizo​​n\Console\pcntl_async_signals()

在此处输入图像描述

当我打开http://127.0.0.1:8000/horizo ​​n/dashboard 时,horizo​​n 仪表板状态始终处于非活动状态

在此处输入图像描述

我正在使用 XAMPP,PHP 版本 7.3.0,Laravel 版本 5.7

我已关注此链接:https ://github.com/laravel/horizo​​n/issues/154#issuecomment-366712260

composer require ext-pcntl ext-posix

这是作曲家:

我已经搜索了很多问题,但没有运气,也尝试过composer update --ignore-platform-reqs但仍然无法正常工作。

任何人都请帮我在我的本地系统中运行 Laravel Horizo​​n

0 投票
1 回答
1013 浏览

php - Laravel Horizo​​n 长时间等待检测设置 - 无法延长等待时间

我正在使用 Laravel 5.6 和 Horizo​​n 2.0。我的 Horizo​​n 设置如下:

配置/horizo​​n.php

  • 我的设置是connection_name:queue_name => time_seconds

Horizo​​nServiceProvider.php

然而,Horizo​​n 似乎忽略了这一点,并在任何队列延长默认的 60 秒等待时间时向我发送通知。

我已经完全重启了地平线,包括:

  • 清除缓存
  • 清除并存储配置缓存
  • php工匠地平线:终止/重置/清除
  • 重新启动服务器
  • 重新启动守护进程supervisord

为了使这些设置持续存在,我还需要做些什么,或者在 mysetup 中做些什么?

我之前确实从 Horizo​​n 1 升级过,但在安装 2 之前先将其删除。我不确定是否存在一些导致问题的遗留代码?

非常感谢任何帮助!

0 投票
0 回答
239 浏览

php - 部署时运行 Envoy 任务的 Laravel 队列不一致

我正在构建一个使用 laravel envoy 在远程服务器上运行命令的站点。当单击按钮运行任务时,它会被添加到队列中(我使用的是 redis 和 Horizo​​n),以便在后台处理它并且根本不会减慢站点速度。我最初遇到了 ssh 访问和公钥的问题,但现在已经解决了,但剩下的一个问题是作业运行的不一致。

首先让我说这在我的 macbook pro 上不是问题,并且每次都能可靠地工作。有时在我的 debian VPS 上,通常大约 5 次中的 1 次,它会正常工作,但在其他情况下它根本不会运行脚本。我正在检查 Horizo​​n,并且每次都可以正确分派该工作,但是本应需要大约 40 秒才能完成的工作却在不到一秒的时间内完成,而且我的输出中什么也看不到(我有作业的跟踪系统,因此用户可以在运行后查看其状态和日志)。

我用来运行特使任务的代码是

exec('cd ' . base_path() . ' && /home/admin/.composer/vendor/bin/envoy run ' . $this->task . $this->query, $this->result);

$this->result用于存储特使任务的输出,当任务未正确运行时完全为空。

另一个是我尝试过简单地运行它exec('whoami')并没有收到任何回复。在我收到的那些正常工作的地方root

我确实想过,也许不同的队列工作人员正在使用不同的系统用户,因此使用不同的公钥来尝试连接,但我找不到任何信息来支持这一点,但它可以解释它的不规则性。

任何见解或帮助将不胜感激!

0 投票
0 回答
90 浏览

laravel - Laravel 计划任务在午夜停止运行

我们有两个相同的 Laravel 环境,运行完全相同的配置,甚至是相同的 Laravel 应用程序构建。

后端 Laravel 工作应用程序有两个实例,因此我们onOneServer()用于每个任务。工作人员也在运行 Horizo​​n 队列。

UTC 前几天晚上的午夜,生产工人停止运行一些任务,而开发工人没有。第二天午夜它又开始了,两天后午夜它停止了。

Horizo​​n 的使用(生产比开发更多)是否会对将任务锁定给一名工作人员造成任何影响,甚至阻止它启动?

0 投票
1 回答
758 浏览

laravel - laravel 地平线弹性豆茎监督有错误

我一直在尝试设置 Horizo​​n 以在弹性 beantalk 实例中运行,并且看起来它可以工作。

让我得到以下输出

但日志打印成功启动然后循环错误消息并且队列不工作

如果我从 ssh shell 手动启动,horizo​​n 队列确实可以工作。

这是我的 EBS 配置文件

001-cron.config

002-horizo​​n.config

地平线.conf

supervisord.conf