2012-04-22 4 views
8

방금 ​​Epio에서 Heroku로 이동하여 새로운 프로세스 모델에 대해 읽은 후 Heroku가 하위 프로세스를 어떻게 처리하는지 궁금합니다. FAQ에는 you can create subprocesses라고되어 있지만 그렇게하는 것의 의미는 설명하지 않습니다.스폰 된 하위 프로세스가 Heroku의 새로운 dyno로 간주됩니까?

각 서브 프로세스는 귀하가 지불해야하는 새로운 dyno로 계산합니까? 그렇다면, Gunicorn을 사용하지 않을 경우 서브 프로세스를 사전 포킹 (pre-fork)하므로 고가가 될 수 있습니까? 마지막으로 Heroku는 프로세스를 분리하므로 하위 프로세스와 어떻게 통신 할 수 있습니까?

답변

9

하위 프로세스는 단일 dyno로 처리됩니다.

저는 Python 개발자가 아니지만 대개 4 개의 하위 프로세스가있는 단일 Heryn 사이트 (Rails)에서 모두 단일 dyno 내에 포함되어 있습니다. 생성하는 하위 프로세스의 양은 메모리 소비에 유의해야합니다. 다이노 당 512Mb를 사용하면됩니다.

+0

기본적으로 Heroku "프로세스"에는 하나 이상의 시스템 프로세스가 포함되어 있으며 512MB 미만인 경우 필요한 모든 작업을 수행 할 수 있습니까? – Joe

+1

꽤 많이. 나는 사람들이 동일한 dyno 프로세스에서 Unique 및 백그라운드 작업 (Resque를 통해)을 실행하는 것을 보았습니다. 512Mb는 소프트 한도이며 로그 파일에서 R14 오류가 발생하면 프로세스가 디스크로 스왑을 시작한 후 1.5Gb까지 올라가면 R15 오류가 발생합니다. –

+1

여기 Heroku Python 남자가 있습니다. 이것은 실제로 정확합니다. –

관련 문제