【问题标题】:Send real time data to client with juggernaut使用 juggernaut 向客户端发送实时数据
【发布时间】:2012-10-13 20:28:45
【问题描述】:

我尝试使用flask的juggernaut框架,以便在http://flask.pocoo.org/snippets/80/的flask sn-p之后将实时信息发送到客户端浏览器。

当我尝试为我的代码实现它时,它仍然没有在客户端浏览器中提供实时输出。

这是我的python代码:

import flask
from flask.views import MethodView
from tweetStreamsRT import StreamerRt 
from juggernaut import Juggernaut


app = flask.Flask(__name__)
app.secret_key = "xxxxx"
PORT = 8080

class View(MethodView):

    def get(self):
        return flask.render_template('index.html')

    def post(self):
        results = StreamerRt().filter(track=[flask.request.form['event']])            
        jug = Juggernaut()
        jug.publish('channel', results)
        return self.get()


app.add_url_rule('/', view_func = View.as_view('index'), methods=['GET', 'POST'])
app.debug = True

if __name__ == "__main__":
    print 'Listening on http://localhost:%s' % PORT
    app.run()

我的 html 页面是,它继承自一个基本的 html 页面:

{% extends "base.html" %}
{% import "forms.html" as forms %}


{% block page_header %}
  <div class="page-header">
    <h1>Welcome</h1>
  </div>
{% endblock %}
{% block content %}
  <h2>Enter the Event you would like to follow</h2>
      <form action="/" method="post">
            <input type="text" name="event" />
            <input type="submit" value="Submit Query" />
          </form>
            Results:
            <pre>
                <script type="text/javascript" charset="utf-8">
                    var jug = new Juggernaut;
                    jug.subscribe("channel", function(data){
                    alert("Got data: " + data);});
                </script>

            </pre> 
{% endblock %}

我很困惑为什么什么都没有发送到客户端浏览器。

谢谢

【问题讨论】:

  • 好吧,首先tweetStreamsRT是什么
  • tweetStreamsRT 是一个导入 tweepy 并监听 twitter 流 api 并存储到 mongoDB 的模块。
  • github.com/mitsuhiko/flask-pastebin 适合您吗?你能尝试一些不太复杂的例子吗?

标签: python web-applications flask juggernaut


【解决方案1】:

Juggernout 已弃用 http://blog.alexmaccaw.com/killing-a-library 如果您打算围绕它构建您的应用程序,那么现在是切换到其他东西的正确时机。点赞事件源http://www.html5rocks.com/en/tutorials/eventsource/basics/

【讨论】:

    【解决方案2】:

    正如另一个答案所述,剑圣现在已被弃用。我建议使用另一个 PUB/SUB 框架,例如 Faye

    【讨论】:

      猜你喜欢
      • 2013-02-01
      • 2017-05-07
      • 1970-01-01
      • 2015-01-08
      • 1970-01-01
      • 2022-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多