如果我有一个从网站到Django View的ajax调用,我希望它会返回一些响应,并发送响应已完成的信号。我可以使用类似的东西(睡眠只是用来演示一个观点 - 这可能是任何长时间运行的过程)。为什么Django的“request_finished”信号会阻止响应?
from time import sleep
@receiver(request_finished)
def comment_added(sender, **kwargs):
sleep(5)
return
AJAX响应将被阻止,直到“睡眠”结束,使用户体验变慢。这是否不会在某种程度上破坏使用信号的目的?
我知道我可以使用芹菜这个,我打算这样做。但我想更好地理解信号。谢谢!
谢谢@stalk。即使它全部在一个线程上,名称“request_finished”是否意味着它应该首先发送响应,然后处理该信号?这将允许UI快速,而不需要另一个线程。 – 2014-11-01 15:58:00