메시지 대기열 관리
마지막 업데이트: 2025년 5월 5일
- 주제:
- 구성
작성 대상:
- 경험
- 관리자
- 개발자
소비자가 메시지를 검색하도록 크론 작업 또는 외부 프로세스 관리자를 사용하여 명령줄에서 메시지 대기열을 관리할 수 있습니다.
프로세스 관리
크론 작업은 소비자를 다시 시작하는 기본 메커니즘입니다. 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 그룹 구성 옵션: 소비자에서 구성할 수 있습니다.
Commerce에서
cron
을(를) 사용하는 방법에 대한 자세한 내용은 cron 구성 및 실행을 참조하십시오.- Cron 작업
consumers_runner
이(가) 활성화되었습니다. - Cron 작업
consumers_runner
이(가) 정의된 모든 소비자를 실행합니다. - 각 소비자는 10000 메시지를 처리한 다음 종료합니다
Adobe Commerce 스토어가 클라우드 플랫폼에서 호스팅되는 경우
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 이상에서 지원됩니다.정보
MySQL 작업 큐에서 여러 소비자를 실행하는 것은 권장되지 않습니다. 자세한 내용은 MySQL에서 AMQP로 메시지 대기열 변경을 참조하십시오.정보
Adobe Commerce 스토어가 Cloud 플랫폼에서 호스팅되는 경우CONSUMERS_WAIT_FOR_MAX_MESSAGES
을(를) 사용하여 소비자가 메시지 큐의 메시지를 처리하는 방법을 구성하십시오.
메시지 큐 소비자 시작을 참조하세요.
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c