Python Da sh Приложение: Ошибка приложения Heroku - PullRequest
0 голосов
/ 18 апреля 2020

Итак, я создаю приложение da sh и использую Heroku для хостинга. Вы можете посмотреть мой код здесь: Мой код

Сайт можно найти здесь: covid19-report.herokuapp.com (думал, что я сделаю панель инструментов covid19 просто попрактиковаться в анализе данных с помощью plotly da sh)

В основном я следовал документации по развертыванию Da sh для heroku, найденной здесь: Da sh Документация по развертыванию

Приложение работает нормально локально, но я действительно не уверен, почему оно не работает на Heroku.

Ниже приведено сообщение об ошибке. Похоже, какая-то ошибка JSON, но опять же она работает нормально локально. Некоторое понимание этого поможет. Спасибо!

2020-04-18T04:31:17.714587+00:00 heroku[web.1]: State changed from crashed to starting
2020-04-18T04:31:27.701650+00:00 app[web.1]: [2020-04-18 04:31:27 +0000] [4] [INFO] Starting gunicorn 20.0.4
2020-04-18T04:31:27.702418+00:00 app[web.1]: [2020-04-18 04:31:27 +0000] [4] [INFO] Listening at: http://0.0.0.0:55039 (4)
2020-04-18T04:31:27.702566+00:00 app[web.1]: [2020-04-18 04:31:27 +0000] [4] [INFO] Using worker: sync
2020-04-18T04:31:27.708762+00:00 app[web.1]: [2020-04-18 04:31:27 +0000] [10] [INFO] Booting worker with pid: 10
2020-04-18T04:31:27.785970+00:00 app[web.1]: [2020-04-18 04:31:27 +0000] [11] [INFO] Booting worker with pid: 11
2020-04-18T04:31:29.269562+00:00 heroku[web.1]: State changed from starting to up
2020-04-18T04:31:45.266825+00:00 app[web.1]: [2020-04-18 04:31:45 +0000] [10] [ERROR] Exception in worker process
2020-04-18T04:31:45.266850+00:00 app[web.1]: Traceback (most recent call last):
2020-04-18T04:31:45.266851+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", lin
e 583, in spawn_worker
2020-04-18T04:31:45.266852+00:00 app[web.1]: worker.init_process()
2020-04-18T04:31:45.266852+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py"
, line 119, in init_process

2020-04-18T04:31:45.266853+00:00 app[web.1]: self.load_wsgi()
2020-04-18T04:31:45.266853+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py"
, line 144, in load_wsgi
2020-04-18T04:31:45.266853+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2020-04-18T04:31:45.266854+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", li
ne 67, in wsgi
2020-04-18T04:31:45.266854+00:00 app[web.1]: self.callable = self.load()
2020-04-18T04:31:45.266855+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py",
 line 49, in load
2020-04-18T04:31:45.266855+00:00 app[web.1]: return self.load_wsgiapp()
2020-04-18T04:31:45.266855+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py",
 line 39, in load_wsgiapp
2020-04-18T04:31:45.266855+00:00 app[web.1]: return util.import_app(self.app_uri)
2020-04-18T04:31:45.266856+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/util.py", line 3
58, in import_app
2020-04-18T04:31:45.266856+00:00 app[web.1]: mod = importlib.import_module(module)
2020-04-18T04:31:45.266857+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in im
port_module
2020-04-18T04:31:45.266857+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2020-04-18T04:31:45.266858+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 994, in _gcd_import
2020-04-18T04:31:45.266858+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 971, in _find_and_load
2020-04-18T04:31:45.266858+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
2020-04-18T04:31:45.266858+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
2020-04-18T04:31:45.266859+00:00 app[web.1]: File "<frozen importlib._bootstrap_external>", line 678, in exec_module
2020-04-18T04:31:45.266859+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
2020-04-18T04:31:45.266859+00:00 app[web.1]: File "/app/app.py", line 42, in <module>
2020-04-18T04:31:45.266860+00:00 app[web.1]: initial_data = pd.DataFrame(r.json())[['Date', 'Confirmed', 'Deaths', 'Recovere
d']].groupby('Date').sum().reset_index()
2020-04-18T04:31:45.266860+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/requests/models.py", line
 898, in json
2020-04-18T04:31:45.266861+00:00 app[web.1]: return complexjson.loads(self.text, **kwargs)

2020-04-18T04:31:45.266861+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/json/__init__.py", line 354, in loads
2020-04-18T04:31:45.266861+00:00 app[web.1]: return _default_decoder.decode(s)
2020-04-18T04:31:45.266862+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 339, in decode
2020-04-18T04:31:45.266862+00:00 app[web.1]: obj, end = self.raw_decode(s, idx=_w(s, 0).end())
2020-04-18T04:31:45.266862+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 357, in raw_deco
de
2020-04-18T04:31:45.266863+00:00 app[web.1]: raise JSONDecodeError("Expecting value", s, err.value) from None
2020-04-18T04:31:45.266871+00:00 app[web.1]: json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2020-04-18T04:31:45.267475+00:00 app[web.1]: [2020-04-18 04:31:45 +0000] [10] [INFO] Worker exiting (pid: 10)
2020-04-18T04:31:45.306244+00:00 app[web.1]: [2020-04-18 04:31:45 +0000] [11] [ERROR] Exception in worker process
2020-04-18T04:31:45.306250+00:00 app[web.1]: Traceback (most recent call last):
2020-04-18T04:31:45.306251+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", lin
e 583, in spawn_worker
2020-04-18T04:31:45.306252+00:00 app[web.1]: worker.init_process()
2020-04-18T04:31:45.306252+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py"
, line 119, in init_process
2020-04-18T04:31:45.306253+00:00 app[web.1]: self.load_wsgi()
2020-04-18T04:31:45.306253+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py"
2020-04-18T04:31:45.306253+00:00 app[web.1]: self.load_wsgi()
2020-04-18T04:31:45.306253+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py"
, line 144, in load_wsgi
2020-04-18T04:31:45.306253+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2020-04-18T04:31:45.306254+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", li
ne 67, in wsgi
2020-04-18T04:31:45.306254+00:00 app[web.1]: self.callable = self.load()
2020-04-18T04:31:45.306255+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py",
 line 49, in load
2020-04-18T04:31:45.306255+00:00 app[web.1]: return self.load_wsgiapp()
2020-04-18T04:31:45.306255+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py",
 line 39, in load_wsgiapp
2020-04-18T04:31:45.306256+00:00 app[web.1]: return util.import_app(self.app_uri)
2020-04-18T04:31:45.306256+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/util.py", line 3

58, in import_app
2020-04-18T04:31:45.306256+00:00 app[web.1]: mod = importlib.import_module(module)
2020-04-18T04:31:45.306257+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in im
port_module
2020-04-18T04:31:45.306258+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2020-04-18T04:31:45.306258+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 994, in _gcd_import
2020-04-18T04:31:45.306259+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 971, in _find_and_load
2020-04-18T04:31:45.306259+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
2020-04-18T04:31:45.306259+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
2020-04-18T04:31:45.306260+00:00 app[web.1]: File "<frozen importlib._bootstrap_external>", line 678, in exec_module
2020-04-18T04:31:45.306260+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
2020-04-18T04:31:45.306260+00:00 app[web.1]: File "/app/app.py", line 42, in <module>
2020-04-18T04:31:45.306261+00:00 app[web.1]: initial_data = pd.DataFrame(r.json())[['Date', 'Confirmed', 'Deaths', 'Recovere
d']].groupby('Date').sum().reset_index()
2020-04-18T04:31:45.306262+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/requests/models.py", line
 898, in json
2020-04-18T04:31:45.306262+00:00 app[web.1]: return complexjson.loads(self.text, **kwargs)
2020-04-18T04:31:45.306262+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/json/__init__.py", line 354, in loads
2020-04-18T04:31:45.306262+00:00 app[web.1]: return _default_decoder.decode(s)
2020-04-18T04:31:45.306263+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 339, in decode
2020-04-18T04:31:45.306263+00:00 app[web.1]: obj, end = self.raw_decode(s, idx=_w(s, 0).end())
2020-04-18T04:31:45.306264+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 357, in raw_deco
de
2020-04-18T04:31:45.306264+00:00 app[web.1]: raise JSONDecodeError("Expecting value", s, err.value) from None
2020-04-18T04:31:45.306273+00:00 app[web.1]: json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2020-04-18T04:31:45.307523+00:00 app[web.1]: [2020-04-18 04:31:45 +0000] [11] [INFO] Worker exiting (pid: 11)
2020-04-18T04:31:45.664281+00:00 app[web.1]: [2020-04-18 04:31:45 +0000] [4] [INFO] Shutting down: Master
2020-04-18T04:31:45.664592+00:00 app[web.1]: [2020-04-18 04:31:45 +0000] [4] [INFO] Reason: Worker failed to boot.
2020-04-18T04:31:45.805719+00:00 heroku[web.1]: State changed from up to crashed
2020-04-18T04:38:59.314463+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=covid19-repor
t.herokuapp.com request_id=b48e8c2e-9724-47fd-9a55-e786cb0c1508 fwd="209.17.96.74" dyno= connect= service= status=503 bytes=
 protocol=https

1 Ответ

0 голосов
/ 18 апреля 2020

Итак, я проверил это, и я почти уверен, что эта строка является проблемой. Может быть, не использовать IP-API, он не работает на хост-компьютере. Попробуйте использовать исходную страну по умолчанию

РЕДАКТИРОВАТЬ: вы также можете попробовать этот и как только вы получите IP-адрес клиента, попробуйте этот API https://ipapi.co/ip-address/json

...