Symfony 如何在Shopware 6中使用多队列工作程序?

Symfony 如何在Shopware 6中使用多队列工作程序?,symfony,message-queue,messenger,shopware,enqueue,Symfony,Message Queue,Messenger,Shopware,Enqueue,在Shopware 6中运行多个消息队列工作程序是否有最佳实践?我们禁用了Admin Worker并配置了supervisor.d以运行5个进程的messenger:consume,以及1个进程的scheduled task:run。我们遇到了一些奇怪的问题:排队似乎有20分钟的处理时间限制(redeliver\u after)。经过20分钟的处理,一项工作似乎被认为是过时的,任何其他工人都可以自由承担责任。我们还有无限的消息发送循环。enqueue、symfony/messenger和Shop

在Shopware 6中运行多个消息队列工作程序是否有最佳实践?我们禁用了Admin Worker并配置了supervisor.d以运行5个进程的
messenger:consume
,以及1个进程的
scheduled task:run
。我们遇到了一些奇怪的问题:排队似乎有20分钟的处理时间限制(
redeliver\u after
)。经过20分钟的处理,一项工作似乎被认为是过时的,任何其他工人都可以自由承担责任。我们还有无限的消息发送循环。
enqueue
symfony/messenger
和Shopware之间的整个协作是如此复杂,Shopware文档是如此详细。

是的,这似乎是有意的。你有什么样的长队工作?如果不能两次执行,您可以增加超时时间或添加一些额外的锁定。我们在过去几天中发现:即使只有一个工人作业运行超过20分钟,也会导致表消息_queue _stats上的约束冲突。我们有一两份工作超过了这个限制。我们将设法提高这一限制。此外,我们还遇到了MySQL在排队表上的死锁。我想这需要进一步调查。