나는 샐러리 작업자가 rabbitmq에서 처리를 위해 작업을 대기 행렬에서 제거하는 방법과 방법을 제어하고 싶은 유스 케이스로 실행 중입니다. dequeuing은 셀러리 컨텍스트에서 발생하는 외부 이벤트와 동기화되지만 샐러리가 작업의 큐 해제를 제어 할 수있는 유연성을 제공합니까? basic.get
가 외부 이벤트를 기반으로 트리거 방식입니다 대신 basic.consume
의 basic.get
의외부 이벤트 (이벤트 대기열)를 기반으로 한 대기열에서의 소비
만들기 사용 : 나는 몇 가지 가능성이 아래 조사하기 위해 노력하고. 그러나 셀러리 기본값은
basic.consume
(푸시) 의미로 나타납니다. 코어를 직접 수정하지 않고도이 동작을 무시할 수 있습니까?외부 이벤트가 트리거 될 때 및 작업자가 사용자 지정 원격 제어를 수행합니다. 그러나 문서에서 원격 제어 명령을 사용하여 작업의 큐 해제를 제어하는 방법을 알 수 없습니다.
셀러리를 계속 사용하고 AMQP 위에 사용자 지정 큐 처리 솔루션을 작성하지 않으려 고합니다.
입력 해 주셔서 감사합니다. 원격 제어 명령은 참으로 그럴듯한 옵션처럼 보입니다. 그러나 노동자들은 여전히'prefetch_count> 1'을 사용하여 작업을 소비 할 것입니다. 'prefetch_count = 1'로이 소비자들을 활성화시키는 방법이 있습니까? 특히 나는 a) 소비자 추가 b) 지정된 대기열에서 단일 작업 대기열에서 제외 c) 추가 외부 이벤트가 발생할 때까지 대기열에 대한 소비자 비활성화 –
작업자의 프리 페치 횟수 구성 CELERYD_PREFETCH_MULTIPLIER = 1 – mher