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 asynchronously
como Sim.
Teste da fila de mensagens
Para testar o envio de mensagens do Commerce para RabbitMQ:
-
Faça logon no console da Web RabbitMQ no AWS para monitorar filas.
-
Em Admin, crie um produto.
-
Criar uma origem de Inventário.
-
Habilitar Lojas > Configuração > Catálogo > Inventário > Operações de administração em massa > Executar de forma assíncrona.
-
Vá para Catálogo > Produtos. Na grade, selecione o produto criado acima e clique em Atribuir Source de Inventário.
-
Clique em Salvar e fechar para concluir o processo.
Agora você deve ver as mensagens aparecendo no console da Web RabbitMQ.
-
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.