Django 3.0 将支持异步功能
根据 Django 的项目目录,Django 异步功能草案(DEP 0009)已被技术委员会通过,预计将在 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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
微软宣布 SQL Server 2019 免费支持 Java
在 2018 年 9 月的时候,微软就宣布与领先的 Java 开源贡献者和发行商 Azul Systems 建立新的合作伙伴关系。这一伙伴关系允许所有 Azure 客户在微软和 Azul 联合提供的支持下,免费使用 Azul 的 Zulu for Azure-Enterprise Java 发行版 。 最近,微软宣布已经将这种合作关系扩展到包括 SQL Server。从新发布的 SQL Server 2019 社区技术预览(CTP)3.2 开始,包括 Azul System 的 Zulu,它可以直接嵌入到SQL Server 中使用 Java 的所有场景(PolyBase、Apache SPark、Java 可扩展性等等)。除了为 SQL Server 支付的费用外,不用其他任何成本。 Java 是当今世界上最重要的开源项目之一,据许多报道称,它是世界上最流行的编程语言。它大约与微软 SQL Server 同时诞生,在 20 多年前,早期版本的 Java 数据库连接(JDBC)驱动程序使 Java 应用程序能够连接到 SQL Server。 过去,SQL Server 允许客户选择自己...
- 下一篇
每日一博 | 初学者也说 TARS
作为一个应届毕业生,进入阅文集团,加入到通用平台中心之后,随着日常工作的逐步深入,我渐渐了解阅文的技术体系,其中尤其以腾讯TARS平台最为重要。目前TARS平台承载了阅文内部绝大多数的服务,每日接口调用最大值近百亿,单业务峰值可在数万每秒,近300个业务服务。作为一个新人,我来讲下我从TARS小白到熟练工的历程中整理的一些知识点。 TARS文件 TARS作为一个服务治理框架,最基础的还是要解决服务间调用的问题,这样就引入一个问题:如何在多个服务之间发布接口协议。TARS创新性的设计了一种接口描述语言,即TARS文件,在TARS文件中,可以编写模型、接口、枚举等。在服务提供方,我们可以通过tars-maven-plugin解析TARS文件,生成对应的模型、接口、枚举代码,然后就可以在接口实现类中进行业务逻辑的编写。在对外提供服务时,调用方只需要拿到服务提供方的TARS文件,就能了解服务提供的所有接口及相关描述,从而生成客户端调用代码,进行服务接口调用。 module TestApp { interface Hello { string hello(int no, string n...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群