Джанго; Bugsnag не работает с Gunicorn с Eventlet - PullRequest
0 голосов
/ 08 февраля 2020

Тестирование BugSnag с нашим сервером REST-API на основе Django. У меня есть конечная точка API, которая намеренно падает, чтобы проверить ее, кто-то в определенном сериализаторе, который используют мои представления.

В моем собственном settings.py у меня есть:

BUGSNAG = {
    'api_key': '[redacted]',
    'app_version': "1.0",
    'project_root': "/path/to/my/project/folder/where/manage.py/is",
    'release_stage': "development",
    'notify_release_stages': ['development', 'staging', 'production']
}


MIDDLEWARE = (
    'bugsnag.django.middleware.BugsnagMiddleware',
    <all other middleware>
)

Когда я запускаю свой сервер так: gunicorn myproj.wsgi -b 0.0.0.0:8000 --reload или python manage.py runserver BugSnag правильно сообщает о всех сбоях.

Однако , когда я использую gunicorn myproj.wsgi -b 0.0.0.0:8000 --reload --worker-class eventlet BugSnag прекращает отправлять отчеты об ошибках, когда происходит исключение. Единственная подсказка для этого поведения - это:

2020-02-08 02:34:37,363 - [bugsnag] ERROR - Notifying Bugsnag failed wrap_socket() got an unexpected keyword argument '_context'

Почему BugSnag перестает работать, когда gunicorn используется с рабочим классом eventlet? Я полностью растерялся здесь. Нет онлайн ссылок на эту тему, как будто эта проблема возникает только на моем компьютере ... не очень обнадеживающе.

1 Ответ

0 голосов
/ 10 февраля 2020

Откат к Python 3.6.5, чтобы заставить его работать - у Eventlet есть проблема SSL с Python 3.7, все еще нефиксированной. Это практически непригодно для 3.7

...