一个生产者 · 三条队列 · 按需领取

让不同任务,各走各的队列

图片、邮件与报表分别入队。外部 Python 只访问应用 API,选择一个或多个类型,观察未选类型继续积压。

01 生产不同类型的任务

均为模拟任务,不发送真实邮件或处理真实文件
本次生产哪些类型
图片处理↓voidtest01-typed-image
邮件通知↓voidtest01-typed-email
报表生成↓voidtest01-typed-report

按类型分别投递到真实 Queue;没有对应 CLI 运行时,任务会继续等待。

02 选择消费者领取的类型

这里生成命令,需在终端启动 CLI
消费者类型过滤
cd typed-consumer
uv run --env-file .env consumer.py --types image --name selected-worker

只需 APP_URL 和 CONSUMER_TOKEN。单类型只拉取对应队列;多类型轮流检查,每次最多领取 1 个任务。可在多个终端使用不同 --name 同时运行,执行记录会显示消费者名称。

建议实验步骤
  1. 投递“均衡混合”,先运行 --types image:图片完成,邮件与报表保持待处理。
  2. 改为 --types email,report:观察剩余两类交替处理。
  3. 投递“图片突发”或“慢报表”,分别启动 image 和 email,report 两个 CLI,比较进度。
  4. 投递“分类故障”,只消费 email:确认另外两类仍未开始;再运行全部类型,查看重试与最终失败。

03 按类型观察进度

先投递一组任务

此页面有独立的实验历史,查看进度不会领取消息。

独立多队列实验 · 原 /queues 页面、原消费者与原测试均保留 · 所有工作均为模拟等待