2012-04-22 10 views
8

Ich bin gerade von Epio nach Heroku gezogen und nachdem ich über ihr neues Prozessmodell gelesen hatte, habe ich mich gefragt, wie Heroku mit Subprozessen umgehen kann. Die FAQ sagt you can create subprocesses, aber beschreibt keine der Auswirkungen davon.Wird ein hergestellter Subprozess als neuer Prüfpunkt auf Heroku betrachtet?

Wird jeder Unterprozess als neuer Prüfpunkt gezählt, für den Sie bezahlen müssen? Wenn ja, würde Gunicorn auch nicht teuer werden, da es seine Subprozesse vorgibt? Schließlich, wie Heroku seine Prozesse isoliert, wie können Sie mit Ihren Teilprozessen kommunizieren?

Antwort

9

Unterprozesse werden von einem einzelnen Prüfpunkt verarbeitet.

Ich bin kein Python-Entwickler, aber ich verwende Unicorn auf meinen Heroku-Sites (Rails) normalerweise mit 4 Subprozessen, die alle in einem einzigen Dyno enthalten sind. Die Anzahl der Unterprozesse, die du spawnt, muss den Speicherverbrauch berücksichtigen - du erhältst 512 MB pro Dyno, um damit zu spielen.

+0

Im Wesentlichen enthalten Heroku "Prozesse" einen oder mehrere Maschinenprozesse und Sie können tun, was immer Sie benötigen, solange Sie unter 512 MB sind? – Joe

+1

ziemlich viel. Ich habe gesehen, wie Leute Einhorn- und Hintergrundaufgaben (über Resque) im selben Prüfprozess ausgeführt haben. Die 512Mb ist eine weiche Grenze, Sie werden R14-Fehler in Ihren Log-Dateien bekommen, sobald Sie darüber gehen, danach wird der Prozess auf die Festplatte wechseln und dann, wenn Sie bis zu 1.5Gb bekommen, erhalten Sie R15-Fehler. –

+1

Heroku Python Typ hier. Das ist in der Tat richtig. –

Verwandte Themen