2012-04-02 13 views
25

Bastante seguro que algunas personas encontraron este problema antes.Error de Heroku H14 (no se ejecutan procesos web)

Se siguieron todas las instrucciones para configurar nodo y npm. Al presionar heroku no hubo errores. Pero al abrir la aplicación, se muestra "Error de aplicación"

heroku ps 

vuelve

Process State  Command  
------- --------- ------------ 
main.1 up for 1m node main.js 

mientras

heroku logs 

vuelve

Error H14 (No web processes running) -> GET mewtwo.herokuapp.com/ dyno= queue= wait= service= status=503 bytes= 

He intentado reiniciar la aplicación con heroku restart pero st tendré el mismo error Google alrededor y no hubo otra solución que no sea heroku restart. ¿Alguien probó otros métodos?


Respuesta: (lo puse aquí desde mi representante es demasiado baja para publicar respuesta)

Ok finalmente lo descubrió a mí mismo.

Al parecer, en el Procfile, declaré

main: node main.js 

pero Heroku utiliza

web: node main.js 

pensé que el nombramiento puede ser cualquier cosa que desee, pero en realidad es estricta, es necesario utilizar web para que funcione (heroku no enfatizó esto - tenga cuidado) al menos por ahora, hasta que descubra por qué este rigor y si puedo cambiar el nombre.

+0

¿Estás seguro de que has comprado en web instancias de los trabajadores? – sarnold

+0

¿tengo que comprar? Solo estoy siguiendo el tutorial de configuración - https://devcenter.heroku.com/articles/nodejs, supongo que es gratis a menos que quieras agregar más? –

+0

encontró la frase "La ejecución de más de un banco de pruebas durante un período prolongado puede generar cargos en su cuenta". Solo estoy ejecutando uno. –

Respuesta

13

El nombre de su proceso web debe ser web, y este es el proceso que Heroku siempre escalará a '1' en la implementación inicial.

Se pueden llamar a otros servicios en el archivo de programación lo que desee, pero debe escalarlos inicialmente (para que pueda tener procesos dev solamente allí si lo desea).

Más información aquí: http://neilmiddleton.com/the-procfile-is-your-friend/ (la versión en caché: https://web.archive.org/web/20130926005616/http://www.neilmiddleton.com/the-procfile-is-your-friend)

+0

Yo agregaría que si realmente quiere tener un proceso con nombre como "principal", que no tiene nada que ver con la web (para el proceso de trabajo, no debería haber enrutamiento http), podría hacerlo escalando web = 0 main = 1, y luego reinicie –

+0

No es necesario reiniciar al escalar. –

71

que tenían el mismo problema, pero para mí era porque necesitaba para funcionar heroku ps:scale web=1

+11

Esto es necesario si inicialmente se olvida de presionar un 'Procfile'. En ese caso, incluso presionar uno más tarde o ejecutar 'heroku ps: restart' no ayudará. – kynan

+3

no estaba viendo nada después de agregar un archivo de Proc. pero luego establecer ps: scale web = 1 puso las cosas en marcha de inmediato. ¡Gracias! – emilebaizel

+0

Me sucedió después de duplicar una aplicación usando 'heroku fork' –

Cuestiones relacionadas