2012-04-22 15 views
8

Acabo de mudarme de Epio a Heroku y después de leer sobre su nuevo modelo de proceso y me preguntaba cómo maneja Heroku los subprocesos. La pregunta frecuente dice you can create subprocesses, pero no describe ninguna de las implicaciones de hacerlo.¿Se considera que un subproceso generado es un nuevo banco de pruebas en Heroku?

¿Cada subproceso cuenta como un nuevo dyno que debe pagar? Si es así, ¿no sería costoso usar Gunicorn ya que preescribe sus subprocesos? Finalmente, dado que Heroku aísla sus procesos, ¿cómo puede comunicarse con sus subprocesos?

Respuesta

9

Los subprocesos se manejan con un solo banco de pruebas.

No soy un desarrollador de Python pero utilizo Unicorn en mis sitios de Heroku (Rails) por lo general con 4 subprocesos, todos ellos contenidos en un solo banco de pruebas. La cantidad de subprocesos que genera debe ser consciente del consumo de memoria: obtiene 512 Mb por dyno para jugar.

+0

Entonces, esencialmente, los "procesos" de Heroku contienen uno o más procesos de la máquina y usted puede hacer lo que sea necesario siempre y cuando tenga menos de 512 MB. – Joe

+1

prácticamente. He visto gente ejecutar tareas de unicornio y de fondo (a través de Resque) en el mismo proceso de dinamómetro. El 512Mb es un límite flexible, comenzará a recibir errores R14 en sus archivos de registro una vez que lo revise, luego el proceso comenzará a intercambiarse al disco y luego, si obtiene hasta 1.5Gb, obtendrá errores R15. –

+1

Chico de Heroku Python aquí. Esto es de hecho correcto. –

Cuestiones relacionadas