gpt4 book ai didi

Laravel 地平线 : items no longer queued for no obvious reason

转载 作者:IT王子 更新时间:2023-10-29 06:07:13 26 4
gpt4 key购买 nike

我一直在 Laravel 伪造的配置服务器上运行一个应用程序。我们有一些正在排队的电子邮件作业,我们使用 Horizo​​n 来管理我们的队列。这一直没有任何问题,但由于某种原因,我们损坏了一些东西,我无法修复它。

这是我们的设置。

.env

APP_ENV=dev
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
QUEUE_DRIVER=redis

config/queues.php

 return [
'default' => env('QUEUE_DRIVER', 'sync'),
'connections' => [
'sync' => [
'driver' => 'sync',
]
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => 'medium',
'retry_after' => 90,
],
],
];

config/horizo​​n.php

return [
'use' => 'default',
'waits' => [
'redis:default' => 60,
],
'environments' => [
'dev' => [
'high-prio' => [
'connection' => 'redis',
'queue' => ['high'],
'balance' => 'simple',
'processes' => 10,
'tries' => 5,
],
'default-prio' => [
'connection' => 'redis',
'queue' => ['medium', 'low'],
'balance' => 'auto',
'processes' => 10,
'tries' => 3,
],
],
],
];

我检查了 redis-cli 信息结果以确保端口正确:

forge@denja-dev:~$ redis-cli info
# Server
redis_version:3.2.8
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:11aa79fd2425bed9
redis_mode:standalone
os:Linux 4.4.0-142-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:5.4.0
process_id:1191
run_id:fcc57fa2c17440ab964538c2d986dc330d9e1223
tcp_port:6379
uptime_in_seconds:3045
uptime_in_days:0
hz:10
lru_clock:13667343
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf

当我访问/horizo​​n/dashboard 时,一切正常。我正在尝试向排队作业的有效负载添加一些元数据,这时问题开始了。然后我又删除了那段代码,基本上回到了以前的代码库。没有区别了,所以我现在怀疑我有另一个问题。

但是 - 当我向队列中添加内容时,我没有收到任何异常抛出。 Bugsnag 没有新条目,我的过程继续没有任何错误。

知道我可以验证更多内容以检测实际问题吗?配置有问题吗?老实说,我有点不知所措,尤其是因为我没有可用的信息:(

我还使用 tinker 检查了我是否可以连接到 redis,并且它也可以正常工作,无一异常(exception):

$ php artisan tinker
Psy Shell v0.9.9 (PHP 7.2.0RC3 — cli) by Justin Hileman
>>> Illuminate\Support\Facades\Redis::connection('default')
=> Illuminate\Redis\Connections\PredisConnection {#3369}

最佳答案

这个问题的原因是我用来测试它的通知确实使用了 Queuable 特性,但没有实现 ShouldQueue 接口(interface)。后者需要让 Laravel 自动排队这些通知。

当我们开始使用其他通过良好的通知进行测试时,我们注意到了这一点。

我们仍然存在的唯一问题是,我们本以为电子邮件会发送出去,因为它会同步发送,但由于某种原因它没有发送。

关于Laravel 地平线 : items no longer queued for no obvious reason,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56011390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com