Heroku - Kein Webprozess läuft

9

Ich habe einen Twitter-Bot mit Hilfe von Tweepy in Python erstellt und es mit Heroku bereitgestellt. Der Bot twittert nur nach bestimmten Intervallen. Nach der Bereitstellung wird das Python-Programm nicht ausgeführt und das Heroku-Protokoll zeigt den folgenden Fehler an:

%Vor%

Nachdem ich einige ähnliche Probleme durchgesehen habe, bei denen eine Django-App eingesetzt werden muss, habe ich versucht:

%Vor%

und habe:

%Vor%

Bedeutet dies, dass das Programm einen Web-Prozess nicht einrichten konnte oder gibt es etwas anderes mit Dynos? Oder wenn ich einen Code für Dynos in mein Programm aufnehmen muss? Ich weiß nicht, welcher Teil dieses ganzen Prozesses ein Problem hat. Entschuldigung, wenn es zu einfach ist.

    
arjun gulyani 31.08.2016, 16:23
quelle

1 Antwort

3

Die Frage ist ein bisschen älter, aber trotzdem ...

Bevor Sie die Dynos skalieren können, benötigen Sie eine Procfile, in der Sie festlegen, was beim Start des Prozesses geschehen soll. In Ihrem Fall sollte der Prozess web heißen. Wir werden den Inhalt der Datei in einem Moment kommen.

Aber zuerst: Für mich scheint es am besten Gunicorn zu benutzen, um Python-Apps auf Heroku laufen zu lassen, also solltest du zuerst gunicorn installieren, pip freeze > requirements.txt ausführen und es zu heroku schieben (naja, warte, bis du die Procfile hast). Für mehr sehen Sie: Python mit Gunicorn auf Heroku

Die Procfile benötigt nur eine Zeile web: gunicorn <filename>:<main method name> . In Ihrem Fall wäre dies (vorausgesetzt Ihre Hauptmethode heißt 'app') web: gunicorn bot:app .

Schieben Sie nun all das auf heroku, dann können Sie Ihren Dyno mit dem Befehl heroku ps:scale web=1

skalieren     
Stefan 14.07.2017, 12:45
quelle

Tags und Links