Wie Commerce den AWS MQ-Service verwendet

Der async.operations.all Message Queue Consumer verwendet die AMQP-Verbindung.

Dieser Verbraucher leitet jeden Themennamen mit dem Präfix async über die AWS MQ-Verbindung weiter.

In InventoryCatalog gibt es beispielsweise:

async.V1.inventory.bulk-product-source-assign.POST
async.V1.inventory.bulk-product-source-unassign.POST
async.V1.inventory.bulk-product-source-transfer.POST

Die Standardkonfiguration für InventoryCatalog veröffentlicht keine Nachrichten in RabbitMQ. Standardmäßig wird die Aktion im selben Benutzer-Thread ausgeführt. Um InventoryCatalog anzuweisen, Nachrichten zu veröffentlichen, aktivieren Sie cataloginventory/bulk_operations/async. Wechseln Sie von der -Admin-zu > Konfiguration > Katalog > Inventar > Massenvorgänge für Admin und setzen Sie Run asynchronously auf Ja.

Testen der Nachrichtenwarteschlange

So testen Sie den Nachrichtenversand von Commerce an RabbitMQ:

  1. Melden Sie sich bei der RabbitMQ-Web-Konsole in AWS an, um Warteschlangen zu überwachen.

  2. Erstellen Sie in der Admin Console ein Produkt.

  3. Erstellen Sie eine Inventarquelle.

  4. Aktivieren Sie Stores > Konfiguration > Katalog > Inventar > Admin-Massenvorgänge > Asynchron ausführen.

  5. Navigieren Sie Katalog > Produkte. Wählen Sie im Raster das oben erstellte Produkt aus und klicken Sie auf Inventar-Source zuweisen.

  6. Klicken Sie Speichern und schließen um den Vorgang abzuschließen.

    Es sollten jetzt Meldungen in der RabbitMQ Web-Konsole angezeigt werden.

  7. Starten Sie den async.operations.all Nachrichtenwarteschlange-Verbraucher.

    bin/magento queue:consumers:start async.operations.all
    

Die in die Warteschlange gestellte Nachricht sollte nun in der RabbitMQ Web-Konsole verarbeitet werden.
Überprüfen Sie, ob sich die Inventarquellen für das Produkt in der Admin Console geändert haben.

recommendation-more-help