如何解决Django 视图:避免等待 post_signal 以提高请求响应时间
似乎在将特定请求的响应发送回端点之前。所有相关信号必须在请求完成之前完成。我有一个需要很长时间来处理的函数。如何在发送响应后延迟要调用的函数?
@receiver(post_save,sender=User)
def user_post_save_func(sender,instance,created,**kwargs):
update_user_related_objects(instance)
解决方法
我尝试在解决方案中使用 celery 但我使用了太慢的 .delay()
方法,我发现即使队列为空也不会立即调用该函数。经过一番挖掘,我发现 apply_sync
似乎更强大。因此,使用 celery,我将我的函数变成了一个任务,并使用 apply_sync
调用它,这给出了所需的结果。
@receiver(post_save,sender=User)
def user_post_save_func(sender,instance,created,**kwargs):
update_user_related_objects.apply_async(args=[instance.id]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。