V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
sbmzhcn
V2EX  ›  Python

gevent + tornado 可以一个做底层信息采集 ,另外一个当作 web 服务器吗?

  •  
  •   sbmzhcn · Aug 27, 2015 · 3564 views
    This topic created in 3902 days ago, the information mentioned may be changed or developed.
    现在有一个项目,使用是 tcp 通信,采集数据,用的是 socket ,数据采集好后保存到数据库中。 但需要做一个网页端的界面,可以直接做个网页从数据库中读取数据就行,这是一个方法。

    能不能把 http 服务器与 socket 采集程序集成到一起。

    socket 用 gevent 端口 1111
    tornado 当作 http 服务器 端口 2222

    请问如果这样操作怎么弄,查了相关文档也没有头绪。
    7 replies    2015-08-28 11:04:27 +08:00
    yuelang85
        1
    yuelang85  
       Aug 27, 2015
    可以的。

    首先你查下 tornado on gevent 。也就是 tornado 架设到 gevent 上, gevent 提供高并发支持。

    然后在 gevent 启动 web 服务主循环之前,用 threading (其实是 gevent monkey patch 过的多线程)启动一个 socket 服务的线程。

    这样就可以同时监听两个端口,使用两个服务了
    kier
        2
    kier  
       Aug 27, 2015
    直接用 tornado 就可以啊,没必要再用 gevent ,记住, tornado 不只是一个 web 框架
    sbmzhcn
        3
    sbmzhcn  
    OP
       Aug 27, 2015
    一个没有问题,我知道。我问的最主要的问题,是怎么集成到一块。 tcp server 和 http server 可以互相通信,比如一些变量可以互相使用。
    lovedboy
        4
    lovedboy  
       Aug 27, 2015
    @kier tornado 的 yield 或者 callback 太难写。。 233333333
    mengzhuo
        5
    mengzhuo  
       Aug 27, 2015
    数据都落地了,再开一个程序取出来
    非要两程序在同一个进程的话……
    可以共享一些全局变量(我司不少内部工具都是这德行)
    zsmjcnm
        6
    zsmjcnm  
       Aug 27, 2015
    233333333
    zhouquanbest
        7
    zhouquanbest  
       Aug 28, 2015
    完全可以只用 Tornado
    如果用 py3 Tornado 写起来会舒服很多 至少不用 raise gen.Return ()了 可以直接 return
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2384 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 06:00 · PVG 14:00 · LAX 23:00 · JFK 02:00
    ♥ Do have faith in what you're doing.