我用文章和评论创建了一个非常简单的设置,用户可以通过Django Rest框架创建的api将评论发布到文章。
到目前为止,一切都很好。问题是创建注释时我需要执行一些昂贵的操作(例如发送电子邮件通知),但是我希望在响应返回后执行它们,因此用户不必等待
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)
据我所知,其余的框架要等到执行了模型保存后才发送响应。
如何在返回响应后最好地运行操作?我可以使用后信号,还是与Celery有关?