《Django 5 By Example》阅读笔记:p383-p387

发布于:2024-11-29 ⋅ 阅读:(27) ⋅ 点赞:(0)

《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-management
    container_name: rabbitmq
    restart: always
    ports:
      - "5672:5672" # RabbitMQ Messaging Port
      - "15672:15672" # RabbitMQ Management UI
    volumes:
      - /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)