V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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
ansheng
V2EX  ›  Python

你知道 Django 是异步的 Web 框架吗?

  •  
  •   ansheng ·
    anshengme · 2017-05-20 12:43:58 +08:00 · 3031 次点击
    这是一个创建于 2541 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前几天有个问题,就是要在 View 里面调用短信 API,刚开始想,要调短信的 API 就需要用到异步请求了,要不然就会阻塞,因为测试就去调用短信 API 感觉不太好,于是乎就写了两个 View,一个 sleep10 秒一个 sleep5 秒,先访问 10 秒的在访问 5 秒的,最后就呵呵呵呵了,5 秒的先返回,过了 5 秒返回 10 秒的 Vie,总耗时 10 秒。

    艹,为什么会这样?马上 pip 一个 tornado,同样两个 View 一个 sleep5 秒一个 sleep10 秒,然后同时访问,结果就是 10 秒之后返回第一个请求,5 秒之后返回第二个请求,总耗时 15 秒。

    在我的理解总,Web 框架都是单进程单线程的,默认应该是同步的,为什么 Django 是异步的?如果是这样,那么那些用 redis+celery 来处理异步任务的不是脑袋都进水了?

    结论就是 Django 就是异步的框架,那还要 Tornado 干嘛?

    求打醒

    10 条回复    2017-05-31 19:09:40 +08:00
    Kilerd
        1
    Kilerd  
       2017-05-20 12:48:35 +08:00 via iPhone   ❤️ 4
    不,让你睡着多好。活在自己的梦里,美滋滋。

    看你发帖,内容里面的语气,不想解释你的问题
    D3EP
        2
    D3EP  
       2017-05-20 13:30:16 +08:00 via Android
    开发环境 Django 是多线程的。Google 一下就出来了(我都没用过 Django )
    Muninn
        3
    Muninn  
       2017-05-20 15:00:35 +08:00
    。。。
    Morriaty
        4
    Morriaty  
       2017-05-22 10:37:30 +08:00
    太多人像你一样以为用了 tornado 就是异步了。。。。。
    prasanta
        5
    prasanta  
       2017-05-22 18:03:54 +08:00
    快醒醒
    ytmsdy
        6
    ytmsdy  
       2017-05-22 18:52:25 +08:00 via iPhone
    @Kilerd 同意!
    huanglongtiankon
        7
    huanglongtiankon  
       2017-05-23 08:45:59 +08:00
    你是不是傻,web 框架的请求当然是多线程的啊,不然多人同时访问网站岂不是得一个个等?
    r0okit
        8
    r0okit  
       2017-05-23 15:29:02 +08:00
    首先你的态度和你的基础一样, 然后我敢肯定你在 tornado 里是用的 time.sleep,其次 tornado ,Django, celery, redis 这些我恐怕你只是看过,最多就是敲了两行 demo
    wingyiu
        9
    wingyiu  
       2017-05-27 23:51:25 +08:00
    google: tornado 如何正确 sleep
    ysymi
        10
    ysymi  
       2017-05-31 19:09:40 +08:00
    貌似大家都喜欢谦逊低调又厉害的人
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   982 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:38 · PVG 02:38 · LAX 11:38 · JFK 14:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.