Тестирование 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
? Я полностью растерялся здесь. Нет онлайн ссылок на эту тему, как будто эта проблема возникает только на моем компьютере ... не очень обнадеживающе.