Como o Commerce usa o serviço AWS MQ

O consumidor da fila de mensagens async.operations.all usa a conexão AMQP.

Esse consumidor roteia qualquer nome de tópico com o prefixo async pela conexão do AWS MQ.

Por exemplo, em InventoryCatalog há:

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

A configuração padrão para InventoryCatalog não publica mensagens em RabbitMQ; o comportamento padrão é executar a ação no mesmo thread de usuário. Para instruir InventoryCatalog a publicar mensagens, habilite cataloginventory/bulk_operations/async. No administrador, vá para Lojas > Configuração > Catálogo > Inventário > Operações em massa do administrador e defina Run asynchronouslycomo Sim.

Teste da fila de mensagens

Para testar o envio de mensagens do Commerce para RabbitMQ:

  1. Faça logon no console da Web RabbitMQ no AWS para monitorar filas.

  2. Em Admin, crie um produto.

  3. Criar uma origem de Inventário.

  4. Habilitar Lojas > Configuração > Catálogo > Inventário > Operações de administração em massa > Executar de forma assíncrona.

  5. Vá para Catálogo > Produtos. Na grade, selecione o produto criado acima e clique em Atribuir Source de Inventário.

  6. Clique em Salvar e fechar para concluir o processo.

    Agora você deve ver as mensagens aparecendo no console da Web RabbitMQ.

  7. Iniciar o consumidor da fila de mensagens async.operations.all.

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

Agora você deve ver a mensagem na fila ser processada no console da Web RabbitMQ.
Verifique se as origens do inventário foram alteradas no produto na Admin.

recommendation-more-help