Den*_*nis 2 queue jobs laravel laravel-queue
我的 laravel 队列系统有问题。出于性能目的,我们使用 laravel 排队系统和 amazons SQS 进行更繁重的计算。这至少对于我们的大多数工作来说都有效。其中一些原始计算时间约为 25 秒,在“处理”状态下持续阻塞队列 6 分钟。
handle我们确实记录了作业的完整功能,并且输出在任何时候都是正确的。事实上,最后一条日志语句(函数结束)是在进入函数后 20 秒打印的。数据按预期计算,数据库已更新,但作业仍处于“处理中”状态。
在我们故意在句柄函数末尾使作业崩溃后,计算的数据被完美存储,但显然队列也崩溃了。所以我想这一定是在处理函数之后发生的事情。也许有分配内存的东西?
队列的配置是默认的 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'),
),
Run Code Online (Sandbox Code Playgroud)
编辑:我发现它不仅是队列,而且当我作为命令执行作业时,会出现相同的行为:
我打印“完成”。作为命令中的最后一个语句,在打印该语句后,控制台会暂停几秒钟,然后再返回到控制台输入。
当我注释掉最多查询的部分时,问题就消失了,就像我使用的查询越多,我必须等待控制台的时间就越多。
我希望你们中的任何人都知道导致此行为的原因以及我们如何解决它。
提前致谢
| 归档时间: |
|
| 查看次数: |
574 次 |
| 最近记录: |