메시지 대기열 관리
소비자가 메시지를 검색하도록 크론 작업 또는 외부 프로세스 관리자를 사용하여 명령줄에서 메시지 대기열을 관리할 수 있습니다.
프로세스 관리
크론 작업은 소비자를 다시 시작하는 기본 메커니즘입니다. cron
에 의해 시작된 프로세스가 지정된 수의 메시지를 사용한 다음 종료됩니다. cron
을(를) 다시 실행하면 소비자가 다시 시작됩니다.
다음 예제에서는 실행 중인 소비자에 대한 crontab
구성을 보여 줍니다.
/app/code/Magento/MessageQueue/etc/crontab.xml
...
<job name="consumers_runner" instance="Magento\MessageQueue\Model\Cron\ConsumersRunner" method="run">
<schedule>* * * * *</schedule>
</job>
...
cron
개의 일정을 정의해야 합니다.cron
을(를) 사용하는 방법에 대한 자세한 내용은 cron 구성 및 실행을 참조하십시오.감독자와 같은 프로세스 관리자를 사용하여 프로세스 상태를 모니터링할 수도 있습니다. 관리자는 명령줄을 사용하여 필요에 따라 프로세스를 재시작할 수 있습니다.
구성
기본적으로 동작
- Cron 작업
consumers_runner
이(가) 활성화되었습니다. - Cron 작업
consumers_runner
이(가) 정의된 모든 소비자를 실행합니다. - 각 소비자는 10000 메시지를 처리한 다음 종료합니다
CRON_CONSUMERS_RUNNER
을(를) 사용하여 consumers_runner
cron 작업을 구성하십시오.특정 구성
/app/etc/env.php
파일을 편집하여 cron 작업 consumers_runner
을(를) 구성하십시오.
...
'cron_consumers_runner' => [
'cron_run' => false,
'max_messages' => 20000,
'consumers' => [
'consumer1',
'consumer2',
],
'multiple_processes' => [
'consumer1' => 4
]
],
...
-
cron_run
-consumers_runner
cron 작업을 활성화하거나 비활성화하는 부울 값(기본값 =true
). -
max_messages
- 종료하기 전에 각 소비자가 처리해야 하는 최대 메시지 수(기본값 =10000
). 권장하지는 않지만 0을 사용하여 소비자가 종료하지 않도록 할 수 있습니다. 소비자가 메시지 큐의 메시지를 처리하는 방법을 구성하려면consumers_wait_for_messages
을(를) 참조하십시오. -
consumers
- 실행할 소비자를 지정하는 문자열 배열입니다. 빈 배열은 모두 소비자를 실행합니다. -
multiple_processes
- 몇 개의 프로세스에서 실행할 소비자를 지정하는 키-값 쌍의 배열입니다. Commerce 2.4.4 이상에서 지원됩니다.note info INFO MySQL 작업 큐에서 여러 소비자를 실행하는 것은 권장되지 않습니다. 자세한 내용은 MySQL에서 AMQP로 메시지 대기열 변경을 참조하십시오. note info INFO Adobe Commerce 스토어가 Cloud 플랫폼에서 호스팅되는 경우 CONSUMERS_WAIT_FOR_MAX_MESSAGES
을(를) 사용하여 소비자가 메시지 큐의 메시지를 처리하는 방법을 구성하십시오.
메시지 큐 소비자 시작을 참조하세요.