2014-11-08 1 views
0

내 영웅 응용 프로그램의 경우 메모리가 계속 커지고 있으며 단위 시간당 전송 된 메시지 수가 작업자가 처리 한 메시지 수보다 많기 때문이라고 생각합니다. 어떻게셀러리 대기열에서 처리되지 않은 메시지 수를 찾는 방법

+1

[셀러리의 대기열에있는 작업 목록 검색] 가능한 복제본 (http://stackoverflow.com/questions/5544629/retrieve-list-of-tasks-in-a-queue-in-celery) –

답변

2
from celery.task.control import inspect 

당신이 시설을 기록해야하는 경우 this SO에서 특정 시점에서 처리되지 않은 메시지의 수에 모니터를 유지할 수 있습니다, 체크 아웃 flower

+0

감사 , 내가 원하는 것은 메시지의 수이며 검사의 수는 아닙니다. 하나의 shared_task 또는 PeriodicTask가있을 수 있지만 앱의 각기 다른 부분이 동일한 MySharedTask.delay()를 여러 메시지 (여러 개의 동일한 MySharedTask 참조)로 여러 번 호출 할 수 있습니다. 또는 동일한 PeriodicTask가 Celery Beat에 의해 1 초마다 실행될 수 있습니다. 처리하는 것보다 단위 시간당 더 많은 메시지가 생성되는지 확인하고 싶습니다. – dowjones123

0

어쩌면 당신이 필요합니다

rate_limit='500/m'은 1 분에 500 번 작업을 제한 할 수 있습니다.

관련 문제