Gestire le code dei messaggi
È possibile gestire le code di messaggi dalla riga di comando utilizzando i processi cron o un gestore di processi esterno per garantire che i consumatori recuperino i messaggi.
Gestione dei processi
I processi Cron sono il meccanismo predefinito per il riavvio dei consumatori. I processi avviati da cron
utilizzano il numero di messaggi specificato e quindi terminano. cron
riavvia il consumer.
Nell'esempio seguente viene illustrata la configurazione crontab
per i consumer in esecuzione:
/app/code/Magento/MessageQueue/etc/crontab.xml
...
<job name="consumers_runner" instance="Magento\MessageQueue\Model\Cron\ConsumersRunner" method="run">
<schedule>* * * * *</schedule>
</job>
...
cron
pianificazioni in base alle proprie esigenze aziendali.cron
con Commerce, vedere Configurare ed eseguire cron.È inoltre possibile utilizzare un gestore processi come Supervisore per monitorare lo stato dei processi. Il manager può utilizzare la riga di comando per riavviare i processi in base alle esigenze.
Configurazione
Comportamento predefinito
- Il processo Cron
consumers_runner
è abilitato - Il processo Cron
consumers_runner
esegue tutti i consumer definiti - Ogni consumatore elabora 10000 messaggi e quindi termina
CRON_CONSUMERS_RUNNER
per configurare il processo cron consumers_runner
.Configurazione specifica
Modificare il file /app/etc/env.php
per configurare il processo cron consumers_runner
.
...
'cron_consumers_runner' => [
'cron_run' => false,
'max_messages' => 20000,
'consumers' => [
'consumer1',
'consumer2',
],
'multiple_processes' => [
'consumer1' => 4
]
],
...
-
cron_run
- Valore booleano che abilita o disabilita il processo cronconsumers_runner
(impostazione predefinita =true
). -
max_messages
- Numero massimo di messaggi che ogni consumer deve elaborare prima di terminare (impostazione predefinita =10000
). Sebbene non sia consigliato, è possibile utilizzare 0 per impedire al consumatore di terminare l’operazione. Vedereconsumers_wait_for_messages
per configurare il modo in cui i consumatori elaborano i messaggi dalla coda dei messaggi. -
consumers
- Matrice di stringhe che specifica quali consumer eseguire. Un array vuoto esegue tutti i consumer. -
multiple_processes
- Matrice di coppie chiave-valore che specifica il consumer da eseguire nel numero di processi. Supportato in Commerce 2.4.4 o versione successiva.note info INFO Non è consigliabile eseguire più consumer in una coda gestita da MySQL. Per ulteriori informazioni, vedere Cambiare la coda dei messaggi da MySQL a AMQP. note info INFO Se il tuo archivio Adobe Commerce è ospitato sulla piattaforma Cloud, usa CONSUMERS_WAIT_FOR_MAX_MESSAGES
per configurare il modo in cui i consumatori elaborano i messaggi dalla coda dei messaggi.
Vedi Avvia consumer coda messaggi.