2017-05-04 2 views
2

Nun .. Ich versuche, genau das gleiche wie in diesem Beitrag Serving interactive bokeh figure on heroku zu tun, die wie ein Duplikat scheinen würde, außer dass ich das nicht zur Arbeit bekommen kann.Heroku mit einem Bokeh-Server - H12 Timeouts

Nämlich läuft Bokeh movies example (github).

Hier ist meine requirements.txt:

dj-database-url==0.4.1 
Django==1.9.7 
gunicorn==19.6.0 
psycopg2==2.6.2 
whitenoise==2.0.6 
requests==2.9.1 
bokeh==0.12.2 
appdirs==1.4.3 
pandas==0.18.0 
six >=1.5.2 
PyYAML >=3.10 
python-dateutil >=2.1 
Jinja2 >=2.7 
numpy >=1.7.1 
tornado >=4.3 

Und hier ist mein procfile, die von Bokeh/examples/app/Filme eine Kopie movies_local des Verzeichnisses verweist, dass im App-Verzeichnis befindet:

web: bokeh serve --port=$PORT --host=sitename.herokuapp.com --host=localhost:5000 --address=0.0.0.0 --use-xheaders movies_local/main.py 

Es funktioniert OK, wenn ich heroku local ausführen, aber Zeit, wenn ich versuche, es zu implementieren. Meine leicht bearbeitet Protokolle sind:

2017-05:00 heroku[web.1]: Starting process with command `bokeh serve --port=19727 --host=sitename.herokuapp.com --host=localhost:5000 --address=0.0.0.0 --use-xheaders movies_local/main.py` 
2017-05:00 heroku[web.1]: State changed from starting to up 
2017-05:00 app[web.1]: 2017-05-04 21:23:40,315 Starting Bokeh server version 0.12.2 
2017-05:00 app[web.1]: 2017-05-04 21:23:40,341 Starting Bokeh server on port 19727 address 0.0.0.0 with applications at paths ['/main'] 
2017-05:00 app[web.1]: 2017-05-04 21:23:40,342 Starting Bokeh server with process id: 4 
2017-05:00 heroku[router]: at=info method=GET path="/" host=sitename.herokuapp.com request_id=3d86a460-cfa0-4d22-bb0e-2b984527fa8b fwd="47.16.208.6" dyno=web.1 connect=1ms service=3ms status=302 bytes=164 protocol=https 
2017-05:00 app[web.1]: 2017-05-04 21:23:43,099 302 GET/(47.16.208.6) 1.03ms 
2017-05:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/main" host=sitename.herokuapp.com request_id=35ca7816-6956-44b9-9d97-b8b27c273244 fwd="47.16.208.6" dyno=web.1 connect=2ms service=30000ms status=503 bytes=0 protocol=https 

Sorry, aber ich bin ziemlich neu in Heroku & Web Zeug insgesamt. Vielen Dank für Ihre Einsichten.

+0

Ich habe genau das gleiche Problem. Ich habe Heroku um Unterstützung gebeten und ich werde Sie wissen lassen, ob sie zu mir zurückkommen. – EddyTheB

Antwort

2

Ich hatte genau das gleiche Problem versucht, eine Bokeh App mit Heroku zu implementieren. Ich war schließlich in der Lage, die Anwendung bereitzustellen, nachdem ich Tornado auf Version 4.4.2 in meiner requirements.txt heruntergestuft habe. Das Problem, das ich glaube, wurde durch die Tatsache verursacht, dass der Bokeh-Server derzeit nicht mit Tornado = 4.5 kompatibel ist.

Hier ist, was meine requirements.txt Datei wie die Suche endete:

bokeh==0.12.5 
certifi==2017.4.17 
chardet==3.0.4 
idna==2.5 
Jinja2==2.9.6 
MarkupSafe==1.0 
numpy==1.12.1 
pandas==0.20.1 
python-dateutil==2.6.0 
pytz==2017.2 
PyYAML==3.12 
requests==2.18.1 
six==1.10.0 
tornado==4.4.2 
urllib3==1.21.1 
xlrd==1.0.0 

Ich hoffe, das hilft.

+0

Diese Inkompatibilität wurde kürzlich behoben (siehe die andere Antwort) – bigreddot

1

Tornado 4.5.x ist inkompatibel mit allen Versionen von Bokeh bis zu 0.12.5 (Es kam mit der brechenden Änderung heraus, nachdem 0.12.5 veröffentlicht wurde). Sie können entweder:

  • Ihre Bokeh Version ein Upgrade auf 0.12.6
  • Herabstufung Tornado < 4,5