Eroare H14 în heroku – „niciun proces web nu rulează” (Programare, Python, Html, Django, Heroku, Implementare Web)

Ron Miles a intrebat.

eroarea H14 se întâmplă în timp ce se implementează în herokuthis este fișierul meu procfile:

web: gunicorn -w 4 -b 0.0.0.0:$PORT -k gevent main:app

log pe heroku:

2017-01-23T10:42:58.904480+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=meetcapstone.herokuapp.com request_id=df88efb5-a81a-4ac0-86dc-4e03d71266bb fwd="81.218.117.137" dyno= connect= service= status=503 bytes=
2017-01-23T10:42:59.009135+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=meetcapstone.herokuapp.com request_id=21cea981-36b0-4410-891f-548bbc29f0ee fwd="81.218.117.137" dyno= connect= service= status=503 bytes=

cerințe:

Flask==0.11.1
passlib==1.7.0
SQLAlchemy==1.1.5
Werkzeug==0.11.15
gunicorn==19.0.0
gevent==1.2.1

Comentarii

  • Vă rugăm să arătați întregul jurnal din momentul în care ați implementat. Au existat erori la pornirea gunicornului? –  > Por Daniel Roseman.
10 răspunsuri
rdegges

Problema aici este că nu rulați niciun dynos web. Puteți să-i spuneți lui Heroku să facă acest lucru prin:

$ heroku ps:scale web=1

Acest lucru va forța Heroku să pornească un dynou web, executând astfel comanda gunicorn.

Comentarii

  • ar trebui să o scriu în procfile? –  > Por Ron Miles.
  • uimitor! am reușit să declanșez această problemă după ce am introdus un fișier procfile malformat și apoi l-am corectat –  > Por Luke.
  • Ciudat, mai întâi trebuia să fie dezactivat dyno-ul din tabloul de bord Heroku. Mulțumesc! –  > Por Stéphane Bruckert.
  • 33

  • Scalarea dynos-urilor… ! ▸ Nu am putut găsi acest tip de proces (web). –  > Por Charles Thayer.
  • (ah ok, lipsea un fișier Procfile –foarte confuz dacă nu folosești codul lor de exemplu) – –  > Por Charles Thayer.
Yaakov Bressler

După 3 ore de depanare, mi-am dat seama de ce aplicația mea cauza această eroare:

  1. Site-ul meu Procfile a fost incorect încadrată
  2. gunicorn nu era instalată în aplicația mea venv

Erorile destul de elementare pentru a nu fi prins la sfârșitul Heroku, destul de obositor din partea lor să nu includă în unele erori de citire.

Mai multe informații despre configurația dyno – mai multe informații despre inițializarea heroku app.

bsh

Înainte de această comandă:

heroku ps:scale web=1

Trebuia să elimin și să adaug din nou buildpack-uri și să o comit și să o redeplasez în heroku.

heroku buildpacks:clear
heroku buildpacks:add --index heroku/python

theMikus

Și eu am avut o problemă aici. Problema mea era că Procfile-ul meu era „Procfile.txt” .Ceea ce mi-a rezolvat problema a fost să elimin extensia de fișier din Procfile, apoi să recommit și să împing lucrurile în heroku

Aris Laode
  • Conectați-vă la tabloul de bord Heroku și deschideți proiectele.
  • Mergeți la Settings (Setări).
  • Ștergeți heroku/python din lista de pachete de construcție
  • Apoi faceți clic pe Add buildpack → Alegeți „Python” → Salvați modificările.
  • Activați mediul în codul dumneavoastră.
  • Rulați heroku ps:scale web=1.

Și ați terminat!

Comentarii

  • ce înseamnă să vă activați mediul în cod? –  > Por Ken.
Dries De Decker

Nu am reputația necesară pentru a răspunde la comentariul corect, dar pentru mine problema a fost că nu am avut run.gunicorn.sh în directorul meu rădăcină, ceea ce a dus la aceeași eroare „No web processes running”.

Dacă nu aveți acest fișier, creați-l cu conținut:

gunicorn -b :5000 --access-logfile - --error-logfile - build:app

Unde „build” este numele fișierului dvs. python (build.py în acest caz) și app este numele aplicației dvs. din cod.

De asemenea, asigurați-vă că gunicorn este inclus în requirements.txt, așa cum au subliniat deja alții.

Prinț

Schimbați fișierul Procfile dinweb:gunicorn în web gunicorn (eliminați ‘:’)

santaclos

Am rezolvat problema mergând la Configure Dynos și activând manual singurul dyno pe care îl aveam.

jmoz

Îmi lipseau dynos-urile din ghidul web. Comanda cli pentru scalare nu a funcționat. De asemenea, este posibil să fi avut o declarație run:web incorectă cu $PORT lipsă. Pentru a rezolva:

heroku.yml trebuie să aibă o declarație web care să utilizeze variabila $PORT:

build:
  docker:
    web: Dockerfile
run:
  web: uvicorn main:app --reload --host 0.0.0.0 --port $PORT

Apoi am împins la heroku.

După aceea trebuie să fi adăugat dyno-ul web, am putut apoi să rulez:

heroku ps:scale web=1

Și acum fastapi uvicorn rulează.

Austin Fischer

Nu aceasta este problema cu codul tău, dar am primit acest mesaj de eroare de câteva ori până acum și greșeala pe care am făcut-o și care a cauzat-o a fost să scriu

web:gunicorn

în loc de

web: gunicorn

Acel spațiu poate cauza într-adevăr o mulțime de probleme.