gpt4 book ai didi

Laravel 作业虽然已完成,但仍处于 "Processing"状态

转载 作者:行者123 更新时间:2023-12-03 08:47:03 25 4
gpt4 key购买 nike

我的 laravel 队列系统有问题。出于性能目的,我们使用 laravel 排队系统和 amazons SQS 进行更繁重的计算。这至少对于我们的大多数工作来说都有效。其中一些原始计算时间约为 25 秒,在“处理”状态下持续阻塞队列 6 分钟。

我们确实记录了作业的完整handle函数,并且输出在任何时候都是正确的。事实上,最后一条日志语句(函数结束)是在进入函数后 20 秒打印的。数据按预期计算,数据库已更新,但作业仍处于“处理中”状态。

enter image description here

在我们故意在句柄函数末尾使作业崩溃后,计算的数据被完美存储,但显然队列也崩溃了。所以我想这一定是在处理函数之后发生的事情。也许有分配内存的东西?

队列的配置是默认的sqs驱动配置:

'sqs' => array(
'driver' => 'sqs',
'key' => env('AWS_KEY', 'secret'),
'secret' => env('AWS_SECRET', 'secret'),
'queue' => env('AWS_SQS_QUEUE', 'secret'),
'region' => env('AWS_SQS_REGION', 'secret'),
),

编辑:我发现它不仅是队列,而且当我作为命令执行作业时,会出现相同的行为:

我打印“完成”。作为命令中的最后一个语句,在打印该语句后,控制台会暂停几秒钟,然后返回到控制台输入。

enter image description here

当我注释掉最多查询的部分时,问题就消失了,就像我使用的查询越多,我必须等待控制台的时间就越多。

我希望你们中的任何人都知道导致此行为的原因以及我们如何解决它。

提前致谢

最佳答案

好的,我发现了问题。

问题是望远镜已启用。因此,在代码执行后,望远镜正忙于记录所有请求和缓存命中。

禁用望远镜后,不再有延迟。

关于Laravel 作业虽然已完成,但仍处于 "Processing"状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60997692/

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