本站消息

站长简介/公众号


站长简介:逗比程序员,理工宅男,前每日优鲜python全栈开发工程师,利用周末时间开发出本站,欢迎关注我的微信公众号:幽默盒子,一个专注于搞笑,分享快乐的公众号

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2020-07(11)

2020-08(42)

阿语python4-2 美多商城v5.0验证码-异步方案RabbitMQ和Celery之第3.3.1节 生产者消费者设计模式...

发布于2021-05-18 22:10     阅读(534)     评论(0)     点赞(8)     收藏(2)



从今天开始阿语将更新美多商场实战笔记,也就说从今天开始,下面的全部都是实战,喜欢的可以关注一下,一起学习python,有的笔记比较短就一篇文章发了2节笔记,一定要认真看

生产者消费者设计模式

思考:

  • 下面两行代码存在什么问题?

问题:

  • 我们的代码是自上而下同步执行的。

  • 发送短信是耗时的操作。如果短信被阻塞住,用户响应将会延迟。

  • 响应延迟会造成用户界面的倒计时延迟。

解决:

  • 异步发送短信

  • 发送短信和响应分开执行,将发送短信从主业务中解耦出来。

思考:

  • 如何将发送短信从主业务中解耦出来。

生产者消费者设计模式介绍

  • 为了将发送短信从主业务中解耦出来,我们引入生产者消费者设计模式

  • 它是最常用的解耦方式之一,寻找中间人(broker)搭桥,保证两个业务没有直接关联。

总结:

  • 生产者生成消息,缓存到消息队列中,消费者读取消息队列中的消息并执行。

  • 由美多商城生成发送短信消息,缓存到消息队列中,消费者读取消息队列中的发送短信消息并执行。

验证码所有代码:

  1. #!/usr/bin/env python
  2. import os
  3. import sys
  4. if __name__ == "__main__":
  5. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "meiduo_mall.settings.dev")
  6. try:
  7. from django.core.management import execute_from_command_line
  8. except ImportError:
  9. # The above import may fail for some other reason. Ensure that the
  10. # issue is really that Django is missing to avoid masking other
  11. # exceptions on Python 2.
  12. try:
  13. import django
  14. except ImportError:
  15. raise ImportError(
  16. "Couldn't import Django. Are you sure it's installed and "
  17. "available on your PYTHONPATH environment variable? Did you "
  18. "forget to activate a virtual environment?"
  19. )
  20. raise
  21. execute_from_command_line(sys.argv)

原文链接:https://blog.csdn.net/zz77244920/article/details/116618811






所属网站分类: 技术文章 > 博客

作者:python好学吗

链接:https://www.pythonheidong.com/blog/article/970532/8b09a7d909c0b13f4b8a/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

8 0
收藏该文
已收藏

评论内容:(最多支持255个字符)