2012-07-01 14 views
10

Ich bin mir der Speicherbeschränkungen der Heroku-Plattform bewusst, und ich weiß, dass es viel besser skalierbar ist, eine App in Web- und Worker-Dynos zu trennen. Trotzdem möchte ich asynchrone Aufgaben neben dem Web-Prozess zu Testzwecken ausführen. Dynos sind teuer und ich möchte einen Prototypen für die kostenlose Instanz erstellen, die Heroku anbietet.Ist es möglich, mehrere Prozesse auf einem Heroku-Prüfstand auszuführen?

Gibt es Probleme beim Erstellen eines neuen Jobs als Prozess oder Subprozess im selben Prozess wie ein Webprozess?

Antwort

3

Auf dem neueren Cedar-Stack gibt es keine Probleme mit mehreren Prozessen. Jeder Dyno ist eine virtuelle Maschine und hat keine besonderen Einschränkungen außer der Speicher- und CPU-Auslastung (etwa 512 MB Speicher, glaube ich, und 1 CPU-Kern). Nach den neueren Installationsanweisungen für einige Stacks wie Python wird eine Konfiguration mit mehreren (Web-Server) Prozessen out-of-the-box.

Software, die auf Webdynos installiert wird, kann je nach verwendetem Buildpack variieren; Wenn Ihre Subprozesse spezielle Software benötigen, müssen Sie diese entweder mit Ihrer Anwendung bündeln oder (besser) ein eigenes Buildpack erstellen.

An dieser Stelle würde ich Sie normalerweise daran erinnern, dass asynchrone Tasks auf Workerdynos anstelle von Webdynos mit einem richtigen Taskwarteschlangensystem ausgeführt werden sollten, aber es klingt, als ob Sie das bereits wissen. Denken Sie daran, dass Accounts mit nur einem Web-Dyno (typischerweise "freie" Accounts) diesen Dyno nach ungefähr einer Stunde ablaufen lassen, keine Web-Anfragen erhalten und dass irgendwelche Hintergrundprozesse auf dem Dyno laufen Die Zeit wird notwendigerweise getötet werden. Konten mit mehreren Web-Dynos unterliegen dieser Einschränkung nicht.

+0

Meine Problemumgehung für das Auslassen des Dynos ist, dass einer der Webprozesse ein Datenbankobjekt automatisch sperrt, dann prüft, ob der Worker ausgeführt wird, und falls dies nicht der Fall ist, starten Sie ihn. – okw

Verwandte Themen