https://github.com/brosenberger/module-queue-deduplication
Magento2 Module to enhance queueing capabilities with deduplication mechanism
https://github.com/brosenberger/module-queue-deduplication
Last synced: 3 months ago
JSON representation
Magento2 Module to enhance queueing capabilities with deduplication mechanism
- Host: GitHub
- URL: https://github.com/brosenberger/module-queue-deduplication
- Owner: brosenberger
- License: mit
- Created: 2024-07-23T12:28:36.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-07-23T12:44:10.000Z (11 months ago)
- Last Synced: 2025-01-28T16:39:13.052Z (5 months ago)
- Language: PHP
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Queue DeDuplication - a Magento 2 queue deduplication enhancement
This module provides the possibility to configure topics to deduplicate messages if they haven't been processed yed
**Goals of this module:**
* avoid duplication of messages added to a Magento2 queue based on following suggestion for Java programs: https://colinchjava.github.io/2023-09-18/10-16-52-983540-rabbitmq-message-deduplication-in-java/**Non-Goals of this module:**
* use the appropriate possibilities of an RabbitMQ plugin like https://github.com/noxdafox/rabbitmq-message-deduplication because
* this function should work with the MySQL queue implementation from Magento as well
* a separate plugin has to be installed with RabbitMQ and this is not always possible[](https://www.buymeacoffee.com/brosenberger)
## Installation
```
composer require brocode/module-queue-deduplication
bin/magento module:enable BroCode_QueueDeDuplication
bin/magento setup:upgrade
```## Configuration
The according deduplicated queue/topic must be configured within the file ```etc/queue_deduplication.xml```. This is a sample file that can be used:
```xml
```
Nothing more needs to be configured.
## Further Information
Current implementation is based on the configured Magento2-Caching strategy as it uses the internal caching mechanism for storing message ids that are scheduled within a queue. The current TTL is set to 1 day.