如果我有一個從網站到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