Я создал очень простую установку со статьями и комментариями, в которой пользователи могут публиковать комментарии к статьям через API, созданный с помощью фреймворка Django Rest.
Пока все хорошо. Проблема в том, что у меня есть несколько дорогих операций, которые необходимо выполнить при создании комментария (например, отправка уведомлений по электронной почте), но я хотел бы, чтобы они выполнялись ПОСЛЕ ответа, поэтому пользователю не придется ждать .
class Comment(CommentBase):
article = models.ForeignKey(Article, on_delete=models.CASCADE)
def save(self, *args, **kwargs):
#Expensive operations here, which should run after a response has been returned.
super(Comment, self).save(*args, **kwargs)
Насколько я знаю, остальная среда не отправит ответ, пока не будет выполнено сохранение модели.
Как мне лучше всего выполнить операции после того, как ответ был возвращен? Могу ли я использовать пост-сигнал, или это то, что мне нужно сделать с сельдереем?