From f93c08210e815640b657e25b3d78e4576a1384a1 Mon Sep 17 00:00:00 2001 From: chakcy <947105045@qq.com> Date: Sun, 14 Sep 2025 04:24:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20Home?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Home.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Home.md b/Home.md index 7ce4a10..c911d71 100644 --- a/Home.md +++ b/Home.md @@ -185,6 +185,36 @@ scheduler.update_listen_data("on_config_changed", "dark_mode=true") # scheduler.stop_queue_scheduler() ``` +## 核心概念 + +### MessageItem + +任务消息的载体。重要字段: + +- `id`: 唯一 ID(自动生成) +- `content`: 任务的主要内容(dict)。 +- `destination`: 必须与任务函数名一致。 +- `priority`: 优先级(见 MessagePriority)。 +- `status`: 状态(见 MessageStatus)。 +- `expire_time`: 任务过期时间。 + +### 任务(Task) + +一个被 `@TaskMounter.task` 装饰的普通 Python 函数。它接收一个 MessageItem 参数,执行业务逻辑,并返回一个可 JSON 序列化的结果。 + +### 监听器 (Listener) + +一个被 `@ListenMounter.listener` 装饰的普通 Python 函数。它监听通过 `scheduler.update_listen_data(key, value)` 更新的数据,并在值发生变化时被触发。 + +### 调度器 (Scheduler) + +系统的核心,包含四个部分: + +1. **TaskScheduler**: 消费者,从队列取任务并执行。 +2. **ReceiveScheduler**: 消费者,检查已完成的任务,执行用户回调。 +3. **ListenDataScheduler**: 消费者,检查数据变化,触发监听器。 +4. **CleanupScheduler**: 管理员,定期清理垃圾数据。 + ## 详细使用指南 ### 消息优先级的使用