Что-то не хочет middleware ловить ошибку в отдельном потоке.
middleware.py:
—————————
class LoggingExceptionMiddleware(MiddlewareMixin):
def process_exception(self, request, exception):
logger.error(
'LoggingExceptionMiddleware.process_exception was called')
logger.exception(exception)
views.py:
——————————————
def exception(request):
raise Exception(
'bla bla')
def exception_in_new_thread(request):
logger.debug(
'exception_in_new_thread called')
Thread(target=buggy_func).start()
return HttpResponse(
'ok')
def buggy_func():
logger.debug(
'buggy_func called')
sleep(5)
raise Exception(
'hi from buggy_func')
— в случае ошибки в потоке джанги, миддлваре срабатывает нормально. А в случае ошибки в другом потоке — не срабатывает.
Как вы в мире джанги ловите такие ошибки, которые в отдельном потоке случаются?