Rumio
|
70bde00757
|
✨ feat(core): 增强定时任务与群组标签管理,重构调度核心 (#2068)
* ✨ feat(core): 更新群组信息、Markdown 样式与 Pydantic 兼容层
- 【group】添加更新所有群组信息指令,并同步群组控制台数据
- 【markdown】支持合并 Markdown 的 CSS 来源
- 【pydantic-compat】提供 model_validate 兼容函数
* ✨ feat(core): 增强定时任务与群组标签管理,重构调度核心
✨ 新功能
* **标签 (tags)**: 引入群组标签服务。
* 支持静态标签和动态标签 (基于 Alconna 规则自动匹配群信息)。
* 支持黑名单模式及 `@all` 特殊标签。
* 提供 `tag_manage` 超级用户插件 (list, create, edit, delete 等)。
* 群成员变动时自动失效动态标签缓存。
* **调度 (scheduler)**: 增强定时任务。
* 重构 `ScheduledJob` 模型,支持 `TAG`, `ALL_GROUPS` 等多种目标类型。
* 新增任务别名 (`name`)、创建者、权限、来源等字段。
* 支持一次性任务 (`schedule_once`) 和 Alconna 命令行参数 (`--params-cli`)。
* 新增执行选项 (`jitter`, `spread`) 和并发策略 (`ALLOW`, `SKIP`, `QUEUE`)。
* 支持批量获取任务状态。
♻️ 重构优化
* **调度器核心**:
* 拆分 `service.py` 为 `manager.py` (API) 和 `types.py` (模型)。
* 合并 `adapter.py` / `job.py` 至 `engine.py` (统一调度引擎)。
* 引入 `targeting.py` 模块管理任务目标解析。
* **调度器插件 (scheduler_admin)**:
* 迁移命令参数校验逻辑至 `ArparmaBehavior`。
* 引入 `dependencies.py` 和 `data_source.py` 解耦业务逻辑与依赖注入。
* 适配新的任务目标类型展示。
* 🐛 fix(tag): 修复黑名单标签解析逻辑并优化标签详情展示
* ✨ feat(scheduler): 为多目标定时任务添加固定间隔串行执行选项
* ✨ feat(schedulerAdmin): 允许定时任务删除、暂停、恢复命令支持多ID操作
* 🚨 auto fix by pre-commit hooks
---------
Co-authored-by: webjoin111 <455457521@qq.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
2025-11-03 10:53:40 +08:00 |
|
Rumio
|
be86e0bb7f
|
♻️ refactor(scheduler): 重构定时任务系统并增强功能 (#2009)
检查bot是否运行正常 / bot check (push) Waiting to run
CodeQL Code Security Analysis / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
CodeQL Code Security Analysis / Analyze (${{ matrix.language }}) (none, python) (push) Waiting to run
Sequential Lint and Type Check / ruff-call (push) Waiting to run
Sequential Lint and Type Check / pyright-call (push) Blocked by required conditions
Release Drafter / Update Release Draft (push) Waiting to run
Force Sync to Aliyun / sync (push) Waiting to run
Update Version / update-version (push) Waiting to run
* ♻️ refactor(scheduler): 重构定时任务系统并增强功能
- 【模型重命名】将 `ScheduleInfo` 模型及其数据库表重命名为 `ScheduledJob`,以提高语义清晰度。
- 【触发器抽象】引入 `Trigger` 工厂类,提供类型安全的 Cron、Interval 和 Date 触发器配置。
- 【执行策略】新增 `ExecutionPolicy` 模型,允许为定时任务定义重试策略、延迟、异常类型以及成功/失败回调。
- 【任务执行】重构任务执行逻辑,支持 NoneBot 的依赖注入,并根据 `ExecutionPolicy` 处理任务的重试和回调。
- 【临时任务】增加声明式和编程式的临时任务调度能力,支持非持久化任务在运行时动态创建和执行。
- 【管理命令】更新定时任务管理命令 (`schedule_admin`),使其适配新的 `ScheduledJob` 模型和参数验证逻辑。
- 【展示优化】改进定时任务列表和状态展示,使用新的触发器格式化逻辑和参数模型信息。
- 【重试装饰器】为 `Retry.api` 装饰器添加 `on_success` 回调,允许在任务成功执行后触发额外操作。
* 🚨 auto fix by pre-commit hooks
---------
Co-authored-by: webjoin111 <455457521@qq.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
2025-08-06 09:02:23 +08:00 |
|