django sse方式 前端调用sse接口后需要等待一会才能一次性拿到全部结果
django版本是5.0.6,具体代码是
@action(methods=['get'], detail=False)
def sse_test(self, request):
# 使用StreamingHttpResponse可以向客户端发送连续的数据块
def event_generator():
for i in range(10): # 这里可以替换为更具体的条件或逻辑
# 模拟数据生成,实际应用中可以从数据库查询或其它数据源获取
# message = "New notification at " + datetime.now().strftime('%Y-%m-%d %H:%M:%S')
yield 'data: %s\n\n' % str(time.time()) # 发送当前时间戳作为事件数据
time.sleep(1) # 每次发送后等待1
return StreamingHttpResponse(
event_generator(),
# stream_data(StreamingHttpResponse),
content_type='text/event-stream',
# headers={'Cache-Control': 'no-cache', 'Connection': 'keep-alive'}
headers={'Cache-Control': 'no-cache'}
)
评论 1
我感觉你想要的是这个东西。https://github.com/openai/openai-cookbook/blob/main/examples/How_to_stream_completions.ipynb