gpt4 book ai didi

django - Django 中信号的性能

转载 作者:行者123 更新时间:2023-12-03 18:18:05 24 4
gpt4 key购买 nike

我创建了几个post_save信号,但我想知道以后是否会出现性能问题。例如,我有这样的事情:

def my_signal(sender, **kwargs):
# some minimal processing
posts = len(MyPosts.objects.filter(date__gte=variable))
if entries == "20":
# crate an object and assign it to the post's author.


post_save.connect(my_signal, sender=MyPosts)

假设我有一个非常繁忙的网站,每次创建帖子时都会触发。性能太差?有没有办法以更慢节奏的方式发出信号(也许每天一次或每隔几个请求)?

更新 :

另一个问题:Django 是否足够聪明来复合 .save()调用 post_save将信号发送到一个数据库请求中还是在这里执行几个请求?

谢谢!

最佳答案

信号处理程序的性能影响当然取决于它们的功能。但是你应该知道当信号被触发时它们是同步执行的,所以如果处理程序中有很多 Action (例如很多数据库调用),执行将被延迟。

Django 本身并没有为您提供另一个集成信号处理程序的机会,但如有必要,您应该查看 django-celery这应该使您能够从信号处理程序中异步调用任务,例如......

关于django - Django 中信号的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10839834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com