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

《Django 5 By Example》学习第 14 天,p383-p387 总结,总计 5 页。

一、技术总结

1. asynchronous task(异步任务)

对于异步任务,书中使用的是 celery 和 RabbitMQ,这也是平时工作中的主流用法。

(1) celery

Python 使用的 celery 包的名字也是 celery。

2. RabbitMQ

(1) 拉取镜像

python 复制代码
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 管理界面:

python 复制代码
docker exec -it rabbitmq bash
rabbitmq-plugins enable rabbitmq_management

(2) docker compose部署

python 复制代码
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)

相关推荐
Logintern0919 分钟前
LangSmith如何根据id关系,在服务端把扁平列表重建为树形结构,用于页面渲染Trace视图
python
月光船幽幽37 分钟前
呼吸孔设计重塑系统稳定性
python·科技·算法
Bryce学亮42 分钟前
FileLine,基于 Qt 6 + QML 构建的跨平台文件传输与即时通讯工具
数据库·c++·人工智能·python·qt·github
拿铁铁43 分钟前
2026实操场景下平板坡口机噪音问题注意事项梳理汇总
python·电脑
夜雪一千1 小时前
Python从HTML提取纯文本、去空格、比对内容是否变化:方案+合理性分析
开发语言·python·html
Zane19942 小时前
同一个 list 为什么能被两个 for 循环同时遍历?一文讲透可迭代对象与迭代器的真相
后端·python
月走乂山3 小时前
零依赖 GUI:把 OpenCode CLI 变成可视化 AI 任务流水线
python·自动化·ai编程·tkinter·opencode
孙启超3 小时前
【AI应用开发】Agent 无限 loop(反复调用同一个工具)如何规避?
人工智能·python·算法·llm·agent·loop·ai应用开发
银-豆豆3 小时前
Python爬虫
开发语言·爬虫·python
香吧香4 小时前
Python 基础语法总结
python