标签: tornado

如何让不同端口上的nginx平衡到不同端口?

我正在使用 nginx 监听端口 8080,并使用下面的 nginx.conf 在端口 8081、8081、8083 和 8084 上的四个龙卷风实例上进行平衡。如何强制 nginx 监听另一个端口 8090 并平衡端口 8091、8092、8093 和 8094 ?在 [808*] 上运行的 Tornado 实例与 [809*] 上运行的不同

8080 balance on [8081, 8082, 8083, 8084]
8090 balance on [8091, 8092, 8093, 8094]
Run Code Online (Sandbox Code Playgroud)

有nginx.conf

worker_processes 16;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;


#master_process off;
daemon off;

events {
    worker_connections 1024;
    use epoll;
}

http {
    charset utf-8;

    # Enumerate all the Tornado servers here
    upstream frontends {
        server 127.0.0.1:8081;
        server 127.0.0.1:8082;
        server 127.0.0.1:8083;
        server 127.0.0.1:8084;
    }

    include …
Run Code Online (Sandbox Code Playgroud)

proxy reverse-proxy nginx tornado

1
推荐指数
1
解决办法
4419
查看次数

如何在 Tornado 中通过 websocket 传输 .png 或 .jpg 文件

总的来说,我对 Tornado 和 Web 服务还很陌生。在我的应用程序中,我在服务器端有 Qt/c++ 客户端和 python Tornado。Qt 客户端以文本消息的形式发送命令。在服务器端,“on_message”方法接收消息,对其进行解析并调用相关脚本来生成 .png 图像。现在,我想将此图像连同图像的简短描述一起发送回客户端。如何在服务器端和客户端执行此操作?指向任何在线示例的指针也会有所帮助。谢谢。

c++ python qt tornado websocket

1
推荐指数
1
解决办法
3085
查看次数

Tornado 的 reverse_url 到完全限定的 URL

Tornadoreverse_url不是完全限定的 URL。Tornado 中是否有一种机制可以取回完全合格的 URL?例如:

>>> some_method('foo', 1234)
http://localhost:8080/foo/1234
Run Code Online (Sandbox Code Playgroud)

python tornado

1
推荐指数
1
解决办法
637
查看次数

如何在特定时间启动 Tornado 周期性回调?

目前在我的 Tornado 应用程序中,我PeriodicCallback每隔一小时定期调用一次回调。像这样:

import tornado.ioloop
from tornado.ioloop import PeriodicCallback

if __name__ == "__main__":
    tornado.options.parse_command_line()
    app = tornado.web.Application(
      handlers=urls,
      template_path=os.path.join(os.path.dirname(__file__), "templates"),
      static_path=os.path.join(os.path.dirname(__file__), "static"),
      debug=True
      )
    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(options.port)

    # Here i have option to specify interval, but how to specify when to start?
    daily_alerts = PeriodicCallback(lambda: send_email.daily_alert(), 3600000)
    daily_alerts.start()
    tornado.ioloop.IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)

在这里,我可以选择设置间隔时间 ( 3600000),但如何指定此定期回调应何时开始?

python tornado

1
推荐指数
1
解决办法
1700
查看次数

日志记录在 Python 3 的 Flask 下不起作用

我期望控制台打印调试语句,例如“服务器在端口上启动...”,但是当我运行python app.py以下文件时,没有打印任何内容。我已经将我的应用程序设置为调试模式。

import logging

from flask import Flask
from flask_env import MetaFlaskEnv
from flask_restful import Resource, Api
from flask_restful import reqparse
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from tornado.wsgi import WSGIContainer


class Configuration(metaclass=MetaFlaskEnv):
    """
    export PORT=80
    """
    DEBUG = True
    PORT = 5000

LOGGER = logging.getLogger(__name__)
LOGGER.setLevel(logging.DEBUG)

app = Flask(__name__)
app.config.from_object(Configuration)
api = Api(app)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    LOGGER.debug("server starting on port :" + str(app.config["PORT"]))
    HTTP_SERVER = HTTPServer(WSGIContainer(app))
    HTTP_SERVER.listen(port=app.config["PORT"])
    IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)

python tornado flask

1
推荐指数
1
解决办法
5212
查看次数

龙卷风 reverse_url()

我正在尝试在龙卷风中使用 reverse_url() 并且据我所知使用反向 url 我需要向 urls 列表添加一个名称(就像 Django)但是由于某种原因我在尝试运行服务器:

这是我的网址列表:

urls = [
    (r"/", IndexHandler, name="home"),
]
Run Code Online (Sandbox Code Playgroud)

这是我的 html:

<a class="navbar-brand navbar-right" href="{{reverse_url('home')}}">
Run Code Online (Sandbox Code Playgroud)

这是回溯:

Traceback (most recent call last):
File "tornado_server.py", line 4, in <module>
  from urls import urls
File "C:\Users\elong\Desktop\reblaze\4. ReactJS\react_tornado\urls.py", line 4
  (r"/", IndexHandler, name="home"),
                         ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

任何想法我做错了什么?

python tornado

1
推荐指数
1
解决办法
1110
查看次数

Tornado python - 如何使用pymongo将查询排序到mongoDB?

想要对一个简单的查询进行排序,但不确定它如何与"gen.task"一起使用,因为它将arg1和param的方法作为arg2.

这不仅仅是很好的:

response, error = yield gen.Task(db.client().collection.find, {"user_id":user_id})
if response:
    #blablabla
Run Code Online (Sandbox Code Playgroud)

但那我怎么给它sort()?

更新:现在抛出'回调必须可调用'错误.这似乎是Tornado现在的另一个问题.

def findsort(self, find, callback):
    return callback(db.client().collection.find(find).sort({"myfield":1}))

@gen.engine
def anotherfunction(self):
    response, error = yield gen.Task(self.findsort, {"user_id":user_id})
Run Code Online (Sandbox Code Playgroud)

python sorting tornado mongodb pymongo

0
推荐指数
1
解决办法
1321
查看次数

如何使用龙卷风webserver进行点对点视频聊天

我看到很多使用nodejs和webrtc进行点对点视频聊天的例子.我正在使用龙卷风websever搜索一个很好的视频聊天演示.

是否可以使用tornado webserver和webrtc进行视频聊天?

我是html5和webrtc的新手.

如果您找到任何示例/演示,请帮助我

提前致谢

python tornado node.js webrtc

0
推荐指数
1
解决办法
3641
查看次数

AttributeError:'NoneType'对象没有属性'name'

class Form(Form):
    def forms(self):
        name = TextField('name', validators=[Required()])

class IndexHandler(tornado.web.RequestHandler):
    def get(self):
        form = Form()
        self.render('index.html', form=form.forms())
Run Code Online (Sandbox Code Playgroud)

模板:

<form method="post" action="/test">
    {% raw form.name(type='text') %}
</form>
Run Code Online (Sandbox Code Playgroud)

错误:

AttributeError:'NoneType'对象没有属性'name'


但这有效,但是我需要在Form类中使用一个函数:

class Form(Form):
      name = TextField('name', validators=[Required()])

class IndexHandler(tornado.web.RequestHandler):
    def get(self):
        form = Form()
        self.render('index.html', form=form)
Run Code Online (Sandbox Code Playgroud)

python tornado wtforms

0
推荐指数
1
解决办法
8415
查看次数

Python tornado web服务器:如何使用多处理来加速Web应用程序

我有一个Web应用程序,当一个用户使用时运行正常,但随着越来越多的客户端开始使用它,它是无法忍受的缓慢.服务器端是用python编写的,并使用龙卷风.我注意到,虽然它运行的服务器有4个内核,但只有1个正在使用,所以我开始关注python的多处理.我已经看到了以下基本示例:http://sebastianraschka.com/Articles/2014_multiprocessing_intro.html和龙卷风处理器来自:http: //tornado.readthedocs.org/en/latest/_modules/tornado/process.html(这似乎有点复杂),但我仍然不确定这是我正在寻找的.如果有50个用户一次查看它,那么使用4个处理器运行此代码会加快速度吗?如果是这样的选项之一,那么在使用龙卷风Web服务器时可以采用哪种方式?

对于模糊和写得不好的问题感到抱歉 - 即使经过广泛的研究,我对多处理的缺乏经验也应归咎于此.如果任何示例代码有助于回答此问题,请告诉我们.

谢谢!

python tornado multiprocessing web server

0
推荐指数
1
解决办法
6814
查看次数