提问人:newgennerd 提问时间:11/17/2023 更新时间:11/17/2023 访问量:32
Shopware 6 中 PaymentMethods 的索引循环
Indexing-Loop of PaymentMethods in Shopware 6
问:
最近,我在 Shopware 中索引付款方式时遇到了一个奇怪的问题:它导致队列中 PaymentMethodIndexingMessages 的无限循环。每次处理一条消息后,都会创建一个具有相同内容的新消息。
目前在 Shopware 6.5.6.1 上,但我在 6.4.x 中也看到了这一点。
似乎在 PaymentIndexer 调用后,一条新消息被推送到队列中。我怀疑发生这种情况是因为这种方法中的付款方式的更新插入。\Shopware\Core\Checkout\Payment\DataAbstractionLayer\PaymentDistinguishableNameGenerator::generateDistinguishablePaymentNames
有没有人知道可能是什么原因以及如何停止循环?
答:
1赞
newgennerd
11/17/2023
#1
找到了解决方案:在付款索引期间,当前有一个使用 DAL 的更新插入,它会触发新的 IndexingMessage。 使用文档,我找到了一个解决方案,即在此更新插入调用的上下文中禁用索引。
文档已经过时了,必须禁用索引。它应该使用状态而不是上下文扩展:
$context->addState(EntityIndexerRegistry::DISABLE_INDEXING);
评论
0赞
newgennerd
11/17/2023
对 Shopware 进行了 PR 以修复此行为:github.com/shopware/shopware/pull/3431
评论