2012-10-09 4 views
0

셀러 리가 여러 컴퓨터에 분산되어있는 정의 된 작업 집합을 수행 할 것을보고 있습니다. 각 시스템은 여러 태스크 중 하나를 처리 할 수 ​​있지만 일부 태스크는 다른 태스크보다 많은 기계 자원을 필요로합니다. Celery를 사용하여 이러한 리소스를 관리 할 수있는 방법이 있습니까?셀러리 및 멀티 스레드 작업

답변

3

셀러리는 근로자의 현재/과거 자원 이용률을 측정하고 그 측정치를 기반으로 수행하는 작업량을 조정하는 수단을 제공하지 않습니다. 그러나 Celery를 사용하면보다 예측 가능하고보다 균등하게 분산 된 자원 활용 (YMMV)을 유도 할 수있는 몇 가지 손잡이가 있습니다.

성능 요구 사항이없는 작업이있는 경우 주어진 기간 동안 수행 할 수있는 작업 수를 rate limiting으로 제한하는 것이 좋습니다.

다른 옵션은 celery queues을 사용하는 것입니다. 필요에 따라 가벼운 작업을위한 대기열을 만들고 중량이 큰 작업을위한 대기열을 만든 다음 더 많은 마력을 가진 근로자가 무거운 대기열을 듣고 대기열을 듣지 않는 대기열을 만들 수 있습니다.).