brocode / module-queue-deduplication
增强队列功能的Magento模块,具有去重机制
1.0.0
2024-07-23 12:43 UTC
Requires
- magento/framework: *
- magento/module-message-queue: *
README
本模块提供了配置主题以去重尚未处理的消息的可能性
本模块的目标
- 根据以下建议避免将消息添加到基于Java程序的Magento2队列中的重复: https://colinchjava.github.io/2023-09-18/10-16-52-983540-rabbitmq-message-deduplication-in-java/
本模块的非目标
- 不使用RabbitMQ插件(如https://github.com/noxdafox/rabbitmq-message-deduplication)的适当可能性,因为
- 此功能应与来自Magento的MySQL队列实现一起工作
- 必须安装单独的插件到RabbitMQ上,这并不总是可能的
安装
composer require brocode/module-queue-deduplication
bin/magento module:enable BroCode_QueueDeDuplication
bin/magento setup:upgrade
配置
必须在文件etc/queue_deduplication.xml
中配置相应的去重队列/主题。这是一个可以使用的示例文件
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:brocode:module:BroCode_QueueDeDuplication:/etc/queue_deduplication.xsd"> <topic name="brocode.image.convert"/> </config>
不需要其他配置。
更多信息
当前实现基于配置的Magento2-Caching策略,因为它使用内部缓存机制来存储队列中计划的消息ID。当前的TTL设置为1天。