셀로리를 장고에 설정하는데 문제가 있습니다.셀러리에서 여러 프로세스 시작하기
이 내가 장고 - 셀러리 시작하는 방법입니다 : 작업의
python manage.py celery worker --autoscale=10,2
예 :
@task
def test(i):
print "ITERATION {} START".format(i)
time.sleep(10)
print "ITERATION {} END".format(i)
return True
을 내가 함께이 작업을 호출
for i in range(10):
test.delay(i)
내가 뭘 기대 대기열에 10 개의 작업을 보내면 각 작업마다 하나씩 10 개의 프로세스가 열립니다. 실제로 어떻게됩니까
프로세스의 임의의 숫자들이을 마친 후 이러한 4 개 가지 작업이 다른 3 시작을, 또 다른 3 시작과 을 완료 보통 4 후 시작되는 것입니다. 이는 완료하는 데 더 오랜 시간이 걸리는 작업 인 경우에도 발생합니다. 2 분.
누군가가이 동작을 설명 할 수 있습니까? 자동 스케일 상한이 허용하는 경우 즉시 모든 작업을 시작할 수 있습니까?
또한 autoscale의 하한은 2이지만 서버를 시작하면 3 개의 프로세스가 실행됩니다. 왜 그런가요?
플랫폼 : OpenWRT, 듀얼 코어 프로세서, 2GB RAM.
샐러리 환경의 동시성 설정을 점검하여 작업을 제한하는 것이 있는지 확인할 수 있습니다. – postoronnim