我有一个算法,它等待近 5 秒来生成响应,我想在用户发送请求后立即向用户发送一个 ack(http 200),告诉他他的请求已收到并等待 5 秒。
生成器功能:
def chunked_res():
yield "Chunk 1"
stop = time.time() + 5 # wait for 5 seconds
while time.time() < stop:
pass
yield "Chunk 2"
在某些方面:
response = HttpResponse ( chunked_res() )
response['Connection'] = 'close'
response['Transfer-Encoding'] = 'chunked'
response['status'] = 200
return response
浏览器中的响应:
"传输编码: 分块\n状态: 200\n连接: 关闭\n内容类型: text/html; charset=utf-8\n\nChunk 1Chunk 2"
问题: 我得到了所需的响应(Chunk 1,Chunk 2),但在 5 秒后。我想先发送“Chunk 1”,然后在 5 秒后发送“Chunk 2”(更新响应)。是否有任何特定的设置/更改来实现这一点?
更新:
Django = 1.4 蟒蛇 = 2.7