首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >水瓶生成器在Azure web应用程序中不流

水瓶生成器在Azure web应用程序中不流
EN

Stack Overflow用户
提问于 2016-02-07 19:41:13
回答 1查看 154关注 0票数 0

我正在尝试将一个JSON流从一个Flask应用程序发送到浏览器。下面是服务器端生成器的简化版本:

代码语言:javascript
复制
@app.route('/stream')
def stream():
  def generate():
    for i in range(1000):
      time.sleep(0.05)
      yield '{"key": %d}' % i
  return Response(generate(), mimetype="application/json")

在浏览器中,我使用oboe.js来使用流:

代码语言:javascript
复制
stream = oboe('/stream')
  .on('node', {
    'key': function (scheme) {
       console.log(scheme);
    }
  })

在本地,在开发服务器中,这是非常好的工作,数据作为一个连续的流传输。但是,当将其作为Azure web服务运行时,GET请求需要很长时间才能同时获取所有数据。在生成器完成之前,服务器似乎不会流任何数据。

这种行为可以归因于在Azure上使用的Flask背后的WSGI/web服务器吗?除了改变平台之外,还有什么解决办法吗?哪个WSGI服务器将支持这种流?

谢谢你的帮助,

鲍里斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-08 11:45:27

根据我的经验,这似乎是由IIS作为Azure WebApp上的的WSGI/Web服务器造成的,但我不确定。

对于WSGI服务器支持这种流的情况,您可以参考线程wsgi

我建议您可以尝试在Azure上测试其他WSGI + Flask组合服务器,比如Ubuntu服务器。

希望能帮上忙。诚挚的问候。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35258168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档