Skip to content

AWS MQ with Magento 2.4 Open Source

Is it enough to update the env.php file queue section to setup AWS MQ (Rabbit MQ as the messaging broker – version 3.9.13) Magento 2 version is M2.4.5

  1. Setup the cron.
  2. I have done the below change in env.php:
 'queue' => [
        'amqp' => [
            'host' => 'aws-mq-amqp-endpoint',
            'port' => 5671,
            'user' => 'user-name',
            'password' => 'Password',
            'virtualhost' => '/',
            'ssl' => false
        ],
        'topics' => [
            'product_action_attribute.update' => [
                'publisher' => 'amqp-magento'
            ],
            'product_action_attribute.website.update' => [
                'publisher' => 'amqp-magento'
            ],
            'media.storage.catalog.image.resize' => [
                'publisher' => 'amqp-magento'
            ],
            'sales_rule.codegenerator' => [
                'publisher' => 'amqp-magento'
            ],
            'import_export.export' => [
                'publisher' => 'amqp-magento'
            ],
            'inventory.source.items.cleanup' => [
                'publisher' => 'amqp-magento'
            ],
            'inventory.mass.update' => [
                'publisher' => 'amqp-magento'
            ],
            'inventory.reservations.cleanup' => [
                'publisher' => 'amqp-magento'
            ],
            'inventory.reservations.update' => [
                'publisher' => 'amqp-magento'
            ],
            'inventory.reservations.updateSalabilityStatus' => [
                'publisher' => 'amqp-magento'
            ],
            'inventory.indexer.sourceItem' => [
                'publisher' => 'amqp-magento'
            ],
            'inventory.indexer.stock' => [
                'publisher' => 'amqp-magento'
            ],
            'media.content.synchronization' => [
                'publisher' => 'amqp-magento'
            ],
            'media.gallery.synchronization' => [
                'publisher' => 'amqp-magento'
            ]
        ],
        'config' => [
            'publishers' => [
                'product_action_attribute.update' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'product_action_attribute.website.update' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'media.storage.catalog.image.resize' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'sales_rule.codegenerator' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'import_export.export' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'inventory.source.items.cleanup' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'inventory.mass.update' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'inventory.reservations.cleanup' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'inventory.reservations.update' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'inventory.reservations.updateSalabilityStatus' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'inventory.indexer.sourceItem' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'inventory.indexer.stock' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'media.content.synchronization' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ],
                'media.gallery.synchronization' => [
                    'connections' => [
                        'amqp' => [
                            'name' => 'amqp',
                            'exchange' => 'magento',
                            'disabled' => false
                        ],
                        'db' => [
                            'name' => 'db',
                            'exchange' => 'magento',
                            'disabled' => true
                        ]
                    ]
                ]
            ]
        ],
        'consumers' => [
            'product_action_attribute.update' => [
                'connection' => 'amqp'
            ],
            'product_action_attribute.website.update' => [
                'connection' => 'amqp'
            ],
            'media.storage.catalog.image.resize' => [
                'connection' => 'amqp'
            ],
            'codegeneratorProcessor' => [
                'connection' => 'amqp'
            ],
            'exportProcessor' => [
                'connection' => 'amqp'
            ],
            'inventory.source.items.cleanup' => [
                'connection' => 'amqp'
            ],
            'inventory.mass.update' => [
                'connection' => 'amqp'
            ],
            'inventory.reservations.cleanup' => [
                'connection' => 'amqp'
            ],
            'inventory.reservations.update' => [
                'connection' => 'amqp'
            ],
            'inventory.reservations.updateSalabilityStatus' => [
                'connection' => 'amqp'
            ],
            'inventory.indexer.sourceItem' => [
                'connection' => 'amqp'
            ],
            'inventory.indexer.stock' => [
                'connection' => 'amqp'
            ],
            'media.content.synchronization' => [
                'connection' => 'amqp'
            ],
            'media.gallery.synchronization' => [
                'connection' => 'amqp'
            ]
        ]
    ]
  1. Enable Stores > Configuration > Catalog > Inventory > Admin bulk operations > Run asynchronously.

  2. Run php bin/magento setup:upgrade command

But when Go to Catalog > Products. From the grid, select the product created above and click Assign Inventory Source.
Click Save & Close to complete the process.

I have got below error in system.log of magento 2

[2023-01-17T14:16:25.681334+00:00] main.CRITICAL: Invalid frame type
21 [] [] [2023-01-17T14:16:25.696506+00:00] main.ERROR: Something went
wrong while processing the request. [] []

On Admin panel it is showing :
enter image description here