gpt4 book ai didi

php - 使用 Yii2 队列扩展和 Postgres 10.4 时出现错误 'Has not wait the lock'

转载 作者:行者123 更新时间:2023-11-29 12:15:59 26 4
gpt4 key购买 nike

我在 yii2 中开发了一个使用 yiisoft/yii2-queue 扩展的项目。此扩展存储订单以导出非常大的 CSV。导出的 CSV 可以正常工作,但有时会抛出图像异常:https://i.imgur.com/nd4zRrI.png

我认为这可能是因为我使用的 postgres 版本:PostgreSQL 10.4 (Debian 10.4-2.pgdg90 + 1) on x86_64-pc-linux-gnu,由 gcc (Debian 6.3.0-18) 编译+ deb9u1) 6.3.0 20170516,64 位

我读过它适用于 9.4 版。我拥有的扩展配置如下:

'components' => [
'queue' => [
'class' => \yii\queue\db\Queue::class,
'tableName' => '{{%queue}}', // Table name
'channel' => 'default', // Queue channel key
'db' => require(__DIR__ . '/db.php'),
'mutex' => [
'class' => \yii\mutex\PgsqlMutex::class,
'db' => require(__DIR__ . '/db.php'),
],
'mutexTimeout' => 0,
],
]

有谁知道为什么会出现这个错误以及如何修复它?

最佳答案

'mutexTimeout' => 0,

大概是这个原因。这意味着队列将尝试获取互斥量一次,如果失败(在繁忙队列上很可能),它将抛出此异常。

I addedPgsqlMutex 中支持超时,但还没有包含此功能的版本。我建议使用 yiisoft/yii2 包的 master 分支并将 mutexTimeout 设置为非零值。

关于php - 使用 Yii2 队列扩展和 Postgres 10.4 时出现错误 'Has not wait the lock',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54146118/

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