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. Procesos iniciados por cron
consuma el número de mensajes especificado y, a continuación, finalice. Repetición cron
reinicia el consumidor.
El siguiente ejemplo muestra el crontab
configuración 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
programa según sus necesidades comerciales.cron
con Commerce.También puede utilizar 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
- Trabajo cron
consumers_runner
está habilitado - 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 consumers_runner
trabajo cron.Configuración específica
Edite el /app/etc/env.php
archivo 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
- Un valor booleano que habilita o deshabilita la variableconsumers_runner
trabajo cron (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 cómo procesan los consumidores los mensajes de la cola de mensajes. -
consumers
: matriz de cadenas que especifica qué consumidores ejecutar. Se ejecuta una matriz vacía todo consumidores. -
multiple_processes
: matriz de pares de clave-valor que especifica qué consumidor 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 la tienda de Adobe Commerce está alojada en Cloud Platform, utilice el 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.