IT资讯 Django 3.0 将支持异步功能

houston · 2019-07-26 14:00:05 · 热度: 13

根据 Django 的项目目录,Django 异步功能草案(DEP 0009)已被技术委员会通过,预计将在 3.0 中正式引入。

Django 3.0 将支持异步功能

该 DEP 主要关注 HTTP 中间件视图和 ORM,要在 Django 中添加异步支持,同时维护对同步 Python 的支持,并且将完全向后兼容。

最终会替换掉 Django 中的大多数阻塞部分,包括 Session、Auth、ORM 与 Handlers 等,使其原生支持异步。而同步 API 将继续存在并得到完全支持,其中一些最终将转变为原生异步代码的同步包装器。

ASGI 模式将 Django 作为原生异步应用程序运行,WSGI 模式将围绕每个 Django 调用运行单个事件循环,以使异步处理层与同步服务器兼容。

在这个改造的过程中,每个特性都会经历以下三个实现阶段:

  • Sync-only,只支持同步,也就是当前的情况
  • Sync-native,原生同步,同时带有异步封装器
  • Async-native,原生异步,同时带同步封装器

这一草案是 Django 贡献者 Andrew Godwin 于去年提出的,他认为在 Django 传统 MVC 模式中支持异步功能,将会弥补程序同步执行中上下文切换时间过长这一 Python 核心缺陷。

详情查看该 DEP(Django Enhancement Proposals,Django 增强草案):

https://github.com/django/deps/blob/master/accepted/0009-async.rst

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册