Administrar colas de mensajes
Puede administrar las colas de mensajes desde la línea de comandos mediante trabajos cron o un administrador de procesos externo para garantizar que los consumidores estén recuperando mensajes.
Administración de procesos
Los trabajos de Cron son el mecanismo predeterminado para reiniciar a los consumidores. Los procesos iniciados por cron
consumen el número especificado de mensajes y, a continuación, finalizan. Volver a ejecutar cron
reinicia el consumidor.
El siguiente ejemplo muestra la configuración de crontab
para consumidores en ejecución:
/app/code/Magento/MessageQueue/etc/crontab.xml
...
<job name="consumers_runner" instance="Magento\MessageQueue\Model\Cron\ConsumersRunner" method="run">
<schedule>* * * * *</schedule>
</job>
...
cron
de acuerdo con sus necesidades comerciales.cron
con Commerce.También puede usar un administrador de procesos como Supervisor para supervisar el estado de los procesos. El administrador puede utilizar la línea de comandos para reiniciar los procesos según sea necesario.
Configuración
Comportamiento predeterminado
- El trabajo cron
consumers_runner
está habilitado - El trabajo cron
consumers_runner
ejecuta todos los consumidores definidos - Cada consumidor procesa 10000 mensajes y, a continuación, finaliza
CRON_CONSUMERS_RUNNER
para configurar el trabajo cron de consumers_runner
.Configuración específica
Edite el archivo /app/etc/env.php
para configurar el trabajo cron consumers_runner
.
...
'cron_consumers_runner' => [
'cron_run' => false,
'max_messages' => 20000,
'consumers' => [
'consumer1',
'consumer2',
],
'multiple_processes' => [
'consumer1' => 4
]
],
...
-
cron_run
: valor booleano que habilita o deshabilita el trabajo cron deconsumers_runner
(predeterminado =true
). -
max_messages
: el número máximo de mensajes que cada consumidor debe procesar antes de finalizar (predeterminado =10000
). Aunque no lo recomendamos, puede utilizar 0 para evitar que el consumidor finalice. Consulteconsumers_wait_for_messages
para configurar el modo en que los consumidores procesan los mensajes de la cola de mensajes. -
consumers
: matriz de cadenas que especifica qué consumidores se van a ejecutar. Una matriz vacía ejecuta todos los consumidores. -
multiple_processes
: matriz de pares de clave-valor que especifica el consumidor que se ejecutará en cuántos procesos. Compatible con Commerce 2.4.4 o superior.note info INFO No se recomienda ejecutar varios consumidores en una cola operada por MySQL. Consulte Cambiar la cola de mensajes de MySQL a AMQP para obtener más información. note info INFO Si su tienda Adobe Commerce está alojada en la plataforma Cloud, use CONSUMERS_WAIT_FOR_MAX_MESSAGES
para configurar cómo procesan los consumidores los mensajes de la cola de mensajes.
Consulte Iniciar consumidores de cola de mensajes.