Найти причину ошибки Heroku H10 при использовании Sentry во Flask - PullRequest
0 голосов
/ 29 марта 2019

Я создаю приложение на основе Flask для развертывания в Heroku с использованием контейнера Docker. Несмотря на то, что я могу запустить приложение внутри контейнера Docker и запустить его с помощью консоли на панели инструментов Heroku, когда я его освобождаю, происходит сбой с ошибкой «приложение разбито» H10.

В попытке найти причину я подготовил аддон Sentry и следовал инструкциям по его установке. Я получил пару сообщений об ошибках через Sentry, но теперь он ничего не сообщает (я думаю, что предыдущие могли быть получены из интерактивного сеанса Docker). Я просматривал любую документацию, которая могла бы помочь, но я не смог найти ничего, что могло бы помочь.

Вот содержимое моего Dockerfile:

FROM ubuntu:latest
COPY . /hyena
WORKDIR /hyena/
RUN apt update
RUN apt install --ignore-missing -y git mscore xmlstarlet python3.7 python3-distutils python3-pip curl
RUN curl https://cli-assets.heroku.com/install-ubuntu.sh | sh
RUN pip3 install -r requirements.txt
RUN pip3 install --upgrade 'sentry-sdk[flask]==0.7.8'
RUN git clone https://github.com/icwells/unixpath.git && cd unixpath && python3 setup.py install && cd ../ && rm -rf unixpath

ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8
EXPOSE 8000

И мой heroku.yml (gunicorn находится в моем файле require.txt):

setup:
  addons:
  - plan: sentry-clean-70182

build:
  docker:
    web: Dockerfile

run:
  web: gunicorn -w 3 -k gthread "hyena:create_app()"

И соответствующие строки из init .py:

import sentry_sdk
from sentry_sdk.integrations.flask import FlaskIntegration

sentry_sdk.init(
    dsn="...", # Actual dsn in file
    integrations=[FlaskIntegration()]
)

Если бы я мог видеть ошибки, генерируемые в dyno, я, вероятно, мог бы выяснить это через пару минут, но на данный момент я понятия не имею, что это такое. Если кто-нибудь сможет определить какие-либо ошибки, которые могут возникнуть у меня в конфигурации Sentry (или Heroku), это было бы замечательно.

Я, конечно, не специалист по веб-разработке, поэтому любая помощь с этим будет принята с благодарностью.

...