So habe ich um die Slack-API herumalbern und am Ende einen einfachen Slack-Bot, die auf einem freien Kanal postet, ob eine Website ist oder nicht (wenn mit der URL zur Verfügung gestellt)Port Binding scheitert für Skript nach 60 Sekunden bei der Bereitstellung auf Heroku
)Jedes Mal, wenn ich es Heroku einsetzen, funktioniert es für die ersten 60 Sekunden und wirft dann einen Fehler wie diese in den Protokollen
2016-06-22T20:18:11.933928+00:00 heroku[web.1]: State changed from crashed to starting
2016-06-22T20:18:15.635404+00:00 heroku[web.1]: Starting process with command `python margo/margo.py 5000`
2016-06-22T20:18:18.724727+00:00 app[web.1]: StarterBot connected and running!
2016-06-22T20:19:15.714485+00:00 heroku[web.1]: Stopping process with SIGKILL
2016-06-22T20:19:15.714485+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2016-06-22T20:19:16.857081+00:00 heroku[web.1]: Process exited with status 137
2016-06-22T20:19:16.874584+00:00 heroku[web.1]: State changed from starting to crashed
Mein Procfile
sieht so etwas wie dieses
web: python margo/margo.py 5000
Ich suchte herum und found this und this sagen, dass die PORT
am Profile
angegeben werden sollte und ich es wie die oben in der Procfile
geändert. Aber meine ist nur ein einfaches Python-Skript und keine vollständige Flask
/Django
App.
Irgendwelche Ideen Leute, wo liege ich falsch?
EDIT
ich lesen, dass die $PORT
Umgebungsvariable von Heroku gesetzt. Also mein Procfile
ist jetzt
web: python margo/margo.py $PORT
Aber das Programm stürzt ab, wieder mit der gleichen Fehlermeldung, wenn
eingesetzt
Anstatt das '&&' -Konstrukt, schlage ich eine separate Prozesslinie vor: 'worker: python margo/margo.py'. Sie können es dann explizit über 'heroku ps: start worker' verwalten. – bimsapi