《Django 5 By Example》学习第 14 天,p383-p387 总结,总计 5 页。
一、技术总结
1. asynchronous task(异步任务)
对于异步任务,书中使用的是 celery 和 RabbitMQ,这也是平时工作中的主流用法。
(1) celery
Python 使用的 celery 包的名字也是 celery。
2. RabbitMQ
(1) 拉取镜像
docker pull rabbitmq:4.0.4-management
书中是使用的镜像是 rabbitmq:3.13.1-management,虽然每个作者大多忽略说明为什么选择某个版本的镜像,但我觉得还是有必要说明一下。为什么镜像要选择带 management 的镜像呢?因为带 management 的版本自带 web 管理界面,否则无法直接访问。下面是对比:
1)rabbitmq:4.0.4-management 镜像
使用 5672 和 15672 端口。
2)rabbitmq:4.0.4 镜像
为了演示,使用 5673 和 15673 端口。
否则需要手动启用 rabbitmq_management 才可以访问 web 管理界面:
docker exec -it rabbitmq bash
rabbitmq-plugins enable rabbitmq_management
(2) docker compose部署
rabbitmq:image: rabbitmq:4.0.4-managementcontainer_name: rabbitmqrestart: alwaysports:- "5672:5672" # RabbitMQ Messaging Port- "15672:15672" # RabbitMQ Management UIvolumes:- /data/rabbitmq/data:/var/lib/rabbitmq/- /data/rabbitmq/log:/var/log/rabbitmq
二、英语总结(生词:0)
无。
三、其它
docker-compose.yml 不能使用 tab 缩进!不能使用 tab 缩进!不能使用 tab 缩进!时间都去哪了~ 时间都用在找 bug 了。
四、参考资料
1. 编程
(1) Antonio Melé,《Django 5 By Example》:https://book.douban.com/subject/37007362/
2. 英语
(1) Etymology Dictionary:https://www.etymonline.com
(2) Cambridge Dictionary:https://dictionary.cambridge.org
欢迎搜索及关注:编程人(a_codists)