Utilisation du service AWS MQ par Commerce
Le consommateur de file d’attente de messages async.operations.all
utilise la connexion AMQP.
Ce consommateur achemine tout nom de rubrique précédé du préfixe async
par le biais de la connexion AWS MQ.
Par exemple, dans InventoryCatalog
, il existe :
async.V1.inventory.bulk-product-source-assign.POST
async.V1.inventory.bulk-product-source-unassign.POST
async.V1.inventory.bulk-product-source-transfer.POST
La configuration par défaut de InventoryCatalog
ne publie pas de messages sur RabbitMQ ; le comportement par défaut consiste à effectuer l’action dans le même thread d’utilisateur. Pour indiquer à InventoryCatalog
de publier des messages, activez cataloginventory/bulk_operations/async
. À partir de l’administrateur, accédez à Magasins > Configuration > Catalogue > Inventaire > Opérations en masse de l’administrateur et définissez Run asynchronously
sur Oui.
Test de la file d’attente des messages
Pour tester l'envoi des messages de Commerce vers RabbitMQ :
-
Connectez-vous à la console web RabbitMQ dans AWS pour surveiller les files d’attente.
-
Dans l’Admin, créez un produit.
-
Créez une source d’inventaire.
-
Activez Magasins > Configuration > Catalogue > Inventaire > Opérations en bloc d’administration > Exécuter de manière asynchrone.
-
Accédez à Catalogue > Produits. Dans la grille, sélectionnez le produit créé ci-dessus et cliquez sur Attribuer le Source d’inventaire.
-
Cliquez sur Enregistrer et fermer pour terminer le processus.
Vous devriez maintenant voir les messages s’afficher dans la console web RabbitMQ.
-
Démarrez le consommateur de file d’attente de messages
async.operations.all
.bin/magento queue:consumers:start async.operations.all
Vous devriez maintenant voir le message en file d’attente être traité dans la console web RabbitMQ.
Vérifiez que les sources d’inventaire ont changé sur le produit dans Admin.