python - 셀러리+rabbitmq 비동기 작업, 대기열 메시지가 계속 증가합니다
高洛峰
高洛峰 2017-06-22 11:51:49
0
1
1133

셀러리가 Rabbitmq와 협력하여 비동기 작업을 수행할 때, Rabbitmq의 메시지 수가 지속적으로 증가하지만 이러한 메시지는 실제로 작업에 의해 처리된 것으로 나타났습니다.

rabbimtq와 함께 제공되는 백엔드를 살펴보면 대기 중인 메시지에서 준비된 메시지 수와 전체 메시지 수가 5,000개를 넘었고 승인되지 않은 메시지의 값이 0인 것을 발견했습니다. 하지만 실제로 작동하게 되면 unacknowledged 값은 변하지만 결국 0이 됩니다. 셀러리 구성에는 특별한 것이 없습니다.
CELERY_IMPORTS = ('testtasks',)
BROKER_URL = ' amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND = 'amqp://'

그럼 시스템 리소스를 살펴보니 erl의 프로세스 메모리가 상대적으로 커서 일시적으로 300M 이상이 사용되는 것 같습니다.

저쪽 셀러리 구성에 문제가 있는 걸까요?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(1)
曾经蜡笔没有小新

rabbitmq를 3.3 이상 버전으로 업그레이드하면 해결되었습니다.
이전에는 Rabbitmq 버전 3.1을 사용했는데, 셀러리 버전은 3.1입니다


문제를 해결하는 실제 방법은 다음과 같이 작업에ignore_result=True 속성을 추가하는 것입니다
@app.task(ignore_result=True)

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿