Похоже, в вашем файле настроек вам нужно установить
NOTIFICATION_QUEUE_ALL=True
А затем вам нужно настроить cronjob (возможно, каждые 10-30 секунд или что-то), чтобы запустить что-то вроде,
django_admin.py emit_notices
Это будет периодически запускаться и выполнять блокирующий вызов, который рассылает все электронные письма и все, что требуется приложению для уведомлений.Я уверен, что если ничего не поделать, то это не такая интенсивная нагрузка.
И прежде чем вы продолжите свой комментарий о том, что это глупо, вы должны подумать об этом.Это совсем не глупо.Вы не хотите, чтобы блокирующий вызов был привязан к веб-запросу, иначе пользователь никогда не получит ответ от сервера.В этом смысле отправка электронной почты блокирует.
Теперь, если вы просто хотите, чтобы человек получал это уведомление при входе в систему, вам, вероятно, не нужно идти по этому пути, потому что вам нужно сделатьвнешний звонок на sendmail
или что вы используете для отправки электронных писем.Но в вашем случае, отправляя электронную почту, вы должны сделать это следующим образом.