在当前场景中,在result1完成执行之前,不会执行result2。我想执行 select * from Test1 和 select * from Test2 asynchronously.result2不应等待utile result1完成其执行。最后将结果集发送到客户端时间。
def fetchQueryData(request):
cur=connection.cursor()
cur.execute("select * from Test1")
result1=cur.fetchall()
json1=result1[0][0]
cur.execute("select * from Test2")
result2=cur.fetchall()
json2=result2[0][0]
cur.close()
return JsonResponse([json1,json2])
答案 0 :(得分:2)
Celery可以帮助您。您可以启动异步任务并等待它们在while循环中完成。它需要在您的服务器上进行一些设置和其他软件。
对我而言,您的查询似乎已经很长时间了。我不认为在单个请求中等待它们是关于用户体验的最佳解决方案,但这可能是另一个主题。