django 异步

去年,当Django 3.0出现时,在开发人员社区中有很多关于Django 3.0现在如何支持异步的嗡嗡声,但这对大多数开发人员意味着什么? 我想我们会找出答案的。

尽管Django确实已经开发了对异步(“ async”)Python的支持,但它尚不支持异步视图或中间件; 它们将在将来的版本中发布。

根据Django文档,

对异步生态系统其他部分的支持有限; 也就是说,Django可以在本地谈论ASGI和一些异步安全支持。

好吧,我知道你们中的某些人可能不知道“异步”的真正含义是因为您可能只是一直在使用Python。 我会澄清的。

什么是异步代码?

Python是一种单线程语言,与Java或其他一些多线程应用程序不同,它翻译为仅按单个顺序运行,而不是一次执行多个任务。

由于Django是基于Python构建的Web框架,因此也不是异步的,这意味着在一个或多个操作需要太多时间才能完成的情况下,Django应用程序中的视图会卡住。 这可能成为一个暗示。

如果您尝试在将睡眠设置为特定时间的情况下模拟视图中的阻塞事件(sleep来自Python中的时间库),您会注意到该视图在特定时间卡住,然后继续前进。

我们可以从观察中得出,没有队列的Django并不是真正意义上的I / O绑定活动,对于某些开发人员来说这是一个大问题。 现在,如果您是Python开发人员,您可能已经知道如何简单地使用模块asyncio来使Python代码异步。

但是,嘿,Django呢? 我如何使它异步?

好吧,从技术上讲,您不能但是有一个很好的解决方法,而且大多数开发人员似乎都不会介意,因为它可以正常工作。 甚至Instagram也随着Django的运营而扩展,目前是Django规模最大的部署。

我刚才所说的那种甜蜜的方式是什么?

芹菜 是的,芹菜正是您所需要的。

Celery是基于分布式消息传递的异步任务队列/作业队列。 它专注于实时操作,但也支持调度。 所以是的,您也可以在Django中拥有类似异步的功能。

我如何开始呢?

您可以尝试开始使用[ 其 ]文档,这是我推荐的文档,因为文档通常写得很好,或者您可以查看其中一些基于视频/文本的教程。

这些是资源:

  1. 芹菜文档
  2. 真正的Python教程
  3. 漂亮印刷

我希望这篇文章能给您一些有关Django是否真正异步的见解,但是无论哪种方式,如果您通过实际阅读通篇将它弄到底,lemme知道我是否可以通过添加一些我可能错过的内容来改善这篇文章。

查阅我以前的有关设置自己的Tor隐藏服务的文章 。

先前发布在 https://dev.to/arthtyagi/can-django-be-asynchronous-493b

翻译自: https://hackernoon.com/django-and-asynchronous-support-a-never-ending-story-q0233uls

django 异步

django 异步_Django和异步支持:永无止境的故事相关推荐

  1. python消息队列celery_【干货分享】NTI任务管理之django+python篇celery异步任务使用...

    阅读: 3,538 新浪微博的新鲜事推送如何实现?大规模的服务器如何实现Crontab管理?里面的秘密就在于消息队列.Celery是一个使用Python开发的分布式任务调度模块,是一个简单.灵活.可靠 ...

  2. html中的异步请求数据格式,解决layui中table异步数据请求不支持自定义返回数据格式的问题...

    使用版本 layui-v2.3.0 修改: 打开layui中table.js源码 在 Class.prototype.pullData 这个方法定义内部 //获得数据 Class.prototype. ...

  3. C# OPC DA 协议同步及异步读取数据,支持局域网访问其 他OPC server

    C# OPC DA 协议同步及异步读取数据,支持局域网访问其 他OPC server

  4. javascript迭代器_JavaScript符号,迭代器,生成器,异步/等待和异步迭代器-全部简单解释...

    javascript迭代器 by rajaraodv 通过rajaraodv JavaScript符号,迭代器,生成器,异步/等待和异步迭代器-全部简单解释 (JavaScript Symbols, ...

  5. Spring Boot 异步请求和异步调用

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 一.Spring Boot中异步请求的使用 1.异步请求与同步请求 ...

  6. 同步阻塞,同步非阻塞,异步阻塞,异步非阻塞IO

    在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作. 在比较这两个模式之前,我们首先的搞明白 ...

  7. Spring Boot 异步请求和异步调用,一文搞定!

    一.Spring Boot中异步请求的使用 1.异步请求与同步请求 特点: 可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如 ...

  8. F#与ASP.NET(1):基于事件的异步模式与异步Action

    提高ASP.NET应用程序伸缩性的有效手段之一便是使用异步请求.而在ASP.NET MVC 1中是不能直接支持异步Action的,因此我们需要使用一些简单的Hack方式来实现这一点.不过简单的Hack ...

  9. Javascript异步编程之一异步原理

    本系列的例子主要针对node.js环境,但浏览器端的原理应该也是类似的. 本人也是Javascript新手,把自己这段时间学习积累的要点总结下来,希望可以对同样在学习Javascript/node.j ...

最新文章

  1. 文件系统类型是ntfs无法确定卷版本和状态_硬盘写到一半时断电,文件系统里会发什么?...
  2. (0087)iOS开发之NSString属性为什么要用copy来修饰?
  3. Android开发-屏幕常亮的方法
  4. win10无法显示的AppData文件夹,以及隐藏的python安装
  5. 初识Mysql(part7)--我需要知道的5个关于正则的小知识
  6. 软件开发需要重视对异常的处理
  7. CV Code | 本周计算机视觉新出开源代码汇总(含目标检测、深度估计、视频识别、网络加速算法等)...
  8. 华为2019上半年业绩发布:华为手机海外销量已恢复禁令前80%的水平
  9. tp5 使用PHPAnalysis提取关键字中文分词
  10. Node 中用 ESLint 验证代码
  11. Teradata SQL tips
  12. 天线的特性及微带天线的设计
  13. matlab仿真step模块讲解,Simulink仿真教程(最好)
  14. 华为OSN3500与路由器混合组网
  15. 有用的各大网站论坛,学习、娱乐、生活...
  16. JavaScript的发展史
  17. 2022电大国家开放大学网上形考任务-普通心理学非免费(非答案)
  18. HR模块-组织信息类型创建-PP01
  19. 中国式家长计算机怎么学,中国式家长开局学习技巧详解 大神教你如何完美开局...
  20. unbuntu 中部署jenkins

热门文章

  1. Learning Cocos2d-x for XNA(6)——场景切换和场景过渡效果
  2. 电脑无法识别启动盘 不显示启动盘 wintogo WTG 移动硬盘盒+m.2等等
  3. 小明Q2投影仪好用吗?小明Q2和哈趣K1哪个更值得入手?
  4. 单阶段目标检测重要论文总结
  5. java 匿名接口_匿名内部类实现接口
  6. 软件开发中,站立会议的必要性
  7. Java中的CAS(compare and swap)
  8. hadoop 3.0+ 版本安装访问50070失败处理方法
  9. 知道焊缝长度如何确定节点板尺寸_钢桁架节点图 中各尺寸确定原则 总结
  10. 一个屌丝程序员的青春(三四四)