Hantera meddelandeköer
Du kan hantera meddelandeköer från kommandoraden med hjälp av cron-jobb eller en extern processhanterare för att se till att konsumenterna hämtar meddelanden.
Processhantering
Kronjobb är standardmekanismen för att återstarta konsumenter. Processer som har startats av cron
förbrukar det angivna antalet meddelanden och avslutar sedan. Om cron
startas om startas konsumenten om.
I följande exempel visas crontab
-konfigurationen för konsumenter som kör:
/app/code/Magento/MessageQueue/etc/crontab.xml
...
<job name="consumers_runner" instance="Magento\MessageQueue\Model\Cron\ConsumersRunner" method="run">
<schedule>* * * * *</schedule>
</job>
...
cron
-scheman efter dina affärsbehov.cron
med Commerce finns i Konfigurera och kör cron.Du kan också använda en processhanterare som Supervisor för att övervaka processernas status. Hanteraren kan använda kommandoraden för att starta om processerna efter behov.
Konfiguration
Som standard
- Kronijobbet
consumers_runner
är aktiverat - Kronijobbet
consumers_runner
kör alla definierade konsumenter - Varje konsument bearbetar 10000 meddelanden och avslutas sedan
CRON_CONSUMERS_RUNNER
för att konfigurera consumers_runner
cron-jobbet.Specifik konfiguration
Redigera filen /app/etc/env.php
om du vill konfigurera cron-jobbet consumers_runner
.
...
'cron_consumers_runner' => [
'cron_run' => false,
'max_messages' => 20000,
'consumers' => [
'consumer1',
'consumer2',
],
'multiple_processes' => [
'consumer1' => 4
]
],
...
-
cron_run
- Ett booleskt värde som aktiverar eller inaktiverarconsumers_runner
cron-jobbet (standard =true
). -
max_messages
- Det maximala antalet meddelanden som varje konsument måste bearbeta innan de avbryts (standard =10000
). Även om vi inte rekommenderar det kan du använda 0 för att hindra konsumenten från att säga upp sig. Seconsumers_wait_for_messages
om du vill konfigurera hur konsumenter bearbetar meddelanden från meddelandekön. -
consumers
- en matris med strängar som anger vilka konsumenter som ska köras. En tom array kör alla konsumenter. -
multiple_processes
- en matris med nyckelvärdepar som anger vilken konsument som ska köras i hur många processer. Stöds i Commerce 2.4.4 eller senare.note info INFO Du bör inte köra flera användare på en MySQL-styrd kö. Mer information finns i Ändra meddelandekö från MySQL till AMQP. note info INFO Om din Adobe Commerce-butik finns på molnplattformen använder du CONSUMERS_WAIT_FOR_MAX_MESSAGES
för att konfigurera hur konsumenter ska bearbeta meddelanden från meddelandekön.
Se Starta meddelandekökonsumenter.