我有一个Django“视图”,它对大型数据集进行一些数学运算。我需要大约20秒(在localserver上)才能完成执行。
执行后,我返回一个Django模板作为对收到请求的响应。我想知道是否有办法可以通过使用其他请求或任何其他方式来停止执行视图。
答案 0 :(得分:2)
由于您的情况,您在视图中执行了一些mathematical operations
,因此这可能不是用户友好的选择,您可能需要等待很长时间才能看到响应。
解决方案是使用Celery,您可以将耗时的工作放在Celery队列中,并且可以快速查看对前端的响应,并且在mathematical operations
完成后,使用Celery回调通知前端数据准备就绪,您可以发送另一个请求或做其他事情。