问题标签 [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 - 我关闭 ssh 后 Laravel Horizon 停止
我刚刚开始使用 Laravel 和 Horizon,所以如果我的问题有点过分,我很抱歉。
我已经用 Horizon 和一个 Redis 数据库设置了 Laravel。只要我打开 SSH 连接并在php artisan horizon
其中运行命令,一切正常。一旦我关闭 SSH 会话,它就会停止工作。
我对这些东西很陌生,所以我想知道会有什么解决方案。我发现有人说你应该这样做php artisan horizon &
,但这似乎工作了几分钟,然后什么也没有。
该系统是在网络服务器上设置的,所以也许 cronjob 可以修复它。但我对这些事情的经验非常有限。我希望那里有人可以提供帮助。
php - Laravel Horizon - 一个主管运行多个队列
任何人都可以帮助在 Horizon.php 中进行正确配置以让单个主管运行多个队列吗?我努力了:
也:
第二个队列在 Horizon 中正确显示,我可以向他们发送作业,但它们只是没有得到处理。
我在 forge 上进行了配置,并使用带有以下 queue.php 配置的 redis 设置了我的队列:
laravel - 在 laravel 中标记为已完成的失败作业
我将 Laravel 5.7 与 php 7.3、Apache2、Redis 一起用于 Laravel Horizon。
我遇到了一个问题,如果有任何错误,工作永远不会失败。前任。如果我忘记添加使用 App\Order; 那么理想情况下这应该被标记为失败,但目前它现在这样做了,这会造成很多工作正在执行的混乱。我从一开始就遇到这个问题。
除此之外,即使存在任何其他错误,例如计算错误(除以 0)和数组缺少键等,作业也不会被标记为完成。
php - Laravel Horizon 队列处理,但未收到预期结果
我正在使用 Laravel Horizon (Redis),但我似乎无法正确处理我的工作。
当我拨打我收到的路线电话时,我可以看到:
在日志中,它在 Horizon Dashboard 上看起来很好。
但是我的工作似乎没有运行代码。
CheckInVisitor.php
laravel.log
似乎没有使用我的 Log 语句进行更新,并且我的数据库在函数中仍然为空,Model::create
我尝试先创建一个实例,$visitor = new Visitor();
然后$visitor->fill()
无济于事。
地平线仪表板显示作业已成功完成。日志文件中没有错误。
访客控制器.php
laravel - Laravel 水平管理器在水平:: 终止并运行伪造守护程序后不会重新启动
Horizon 运行良好,但只是最近,在部署后,主管和队列工作人员不会再次启动备份,并且 Horizon GUI 显示“非活动”
为了让它们再次运行,我可以:
- 从 forge 中重新启动守护进程
- 重新启动主管
/etc/init.d/supervisor restart
我的部署脚本php artisan horizon:terminate
在其中。我也尝试过重置/清除及其组合。
当我在具有非活动水平的命令中运行终止时,它似乎什么都不做。当我在 Horizon 处于活动状态的情况下运行相同的命令时,它会将其关闭,但守护程序不会重新启动主管。
守护进程在所有这些过程中运行时没有任何错误。
应该终止删除并启动服务还是守护程序本身?
php - Laravel Horizon 抛出错误:调用未定义的函数 Laravel\Horizon\Console\pcntl_async_signals()
我已根据文档成功安装和设置 laravel-horizon
当我运行这个命令时php artisan horizon
它抛出以下错误:
Symfony\Component\Debug\Exception\FatalThrowableError : 调用未定义的函数 Laravel\Horizon\Console\pcntl_async_signals()
当我打开http://127.0.0.1:8000/horizo n/dashboard 时,horizon 仪表板状态始终处于非活动状态
我正在使用 XAMPP,PHP 版本 7.3.0,Laravel 版本 5.7
我已关注此链接:https ://github.com/laravel/horizon/issues/154#issuecomment-366712260
composer require ext-pcntl ext-posix
这是作曲家:
我已经搜索了很多问题,但没有运气,也尝试过composer update --ignore-platform-reqs
但仍然无法正常工作。
任何人都请帮我在我的本地系统中运行 Laravel Horizon
php - Laravel Horizon 长时间等待检测设置 - 无法延长等待时间
我正在使用 Laravel 5.6 和 Horizon 2.0。我的 Horizon 设置如下:
配置/horizon.php
- 我的设置是
connection_name:queue_name => time_seconds
HorizonServiceProvider.php
然而,Horizon 似乎忽略了这一点,并在任何队列延长默认的 60 秒等待时间时向我发送通知。
我已经完全重启了地平线,包括:
- 清除缓存
- 清除并存储配置缓存
- php工匠地平线:终止/重置/清除
- 重新启动服务器
- 重新启动守护进程supervisord
为了使这些设置持续存在,我还需要做些什么,或者在 mysetup 中做些什么?
我之前确实从 Horizon 1 升级过,但在安装 2 之前先将其删除。我不确定是否存在一些导致问题的遗留代码?
非常感谢任何帮助!
php - 部署时运行 Envoy 任务的 Laravel 队列不一致
我正在构建一个使用 laravel envoy 在远程服务器上运行命令的站点。当单击按钮运行任务时,它会被添加到队列中(我使用的是 redis 和 Horizon),以便在后台处理它并且根本不会减慢站点速度。我最初遇到了 ssh 访问和公钥的问题,但现在已经解决了,但剩下的一个问题是作业运行的不一致。
首先让我说这在我的 macbook pro 上不是问题,并且每次都能可靠地工作。有时在我的 debian VPS 上,通常大约 5 次中的 1 次,它会正常工作,但在其他情况下它根本不会运行脚本。我正在检查 Horizon,并且每次都可以正确分派该工作,但是本应需要大约 40 秒才能完成的工作却在不到一秒的时间内完成,而且我的输出中什么也看不到(我有作业的跟踪系统,因此用户可以在运行后查看其状态和日志)。
我用来运行特使任务的代码是
exec('cd ' . base_path() . ' && /home/admin/.composer/vendor/bin/envoy run ' . $this->task . $this->query, $this->result);
$this->result
用于存储特使任务的输出,当任务未正确运行时完全为空。
另一个是我尝试过简单地运行它exec('whoami')
并没有收到任何回复。在我收到的那些正常工作的地方root
。
我确实想过,也许不同的队列工作人员正在使用不同的系统用户,因此使用不同的公钥来尝试连接,但我找不到任何信息来支持这一点,但它可以解释它的不规则性。
任何见解或帮助将不胜感激!
laravel - Laravel 计划任务在午夜停止运行
我们有两个相同的 Laravel 环境,运行完全相同的配置,甚至是相同的 Laravel 应用程序构建。
后端 Laravel 工作应用程序有两个实例,因此我们onOneServer()
用于每个任务。工作人员也在运行 Horizon 队列。
UTC 前几天晚上的午夜,生产工人停止运行一些任务,而开发工人没有。第二天午夜它又开始了,两天后午夜它停止了。
Horizon 的使用(生产比开发更多)是否会对将任务锁定给一名工作人员造成任何影响,甚至阻止它启动?
laravel - laravel 地平线弹性豆茎监督有错误
我一直在尝试设置 Horizon 以在弹性 beantalk 实例中运行,并且看起来它可以工作。
让我得到以下输出
但日志打印成功启动然后循环错误消息并且队列不工作
如果我从 ssh shell 手动启动,horizon 队列确实可以工作。
这是我的 EBS 配置文件
001-cron.config
002-horizon.config
地平线.conf
supervisord.conf