Как использовать класс AdminEmailHandler для отправки писем администраторам с помощью задачи celery в django?

Я пытаюсь отправить письмо админам с помощью celery, переопределив текущий класс AdminEmailHandler в django

from django.utils.log import AdminEmailHandler
from celery import shared_task

class CeleryAdminEmailHanadler(AdminEmailHandler):
    @shared_task(bind=True)
    def celery_send(self,subject, message, *args, **kwargs):
        super().send_mail(subject, message, *args, **kwargs)

    def send_mail(self, subject, message, *args, **kwargs):
        self.celery_send.delay(subject, message, *args, **kwargs)

всякий раз, когда функция celery_send выполняет функцию super().send_mail, возникает эта ошибка

Error('super(type, obj): obj must be an instance or subtype of type')
Traceback (most recent call last):
  File "D:\cmms\env\lib\site-packages\celery\app\trace.py", line 451, in trace_task
    R = retval = fun(*args, **kwargs)
  File "D:\cmms\env\lib\site-packages\celery\app\trace.py", line 734, in __protected_call__
    return self.run(*args, **kwargs)
  File "D:\cmms\core\utils\log.py", line 7, in celery_send
    super().send_mail(subject, message, *args, **kwargs)
TypeError: super(type, obj): obj must be an instance or subtype of type

Я использую это для ведения логов, чтобы отправлять письма администраторам о критических ошибках на сайте с помощью celery.

Вернуться на верх