tasks/douyin/(task_type=douyin_nurture)整体删除,唯一任务类型是 generic_steps。 所有默认值/文档/接口示例同步改成 generic_steps: - tasks/:删 douyin 包;__init__ 只注册 generic;base.py/generic 注释改为照 generic 抄 - 默认值:core/models.py(列默认 + 旧 JSON 迁移默认)、core/task_manager.py TaskJob、 web/tasks_api.py 建任务默认、static/admin/tasks.js 新建任务默认 - core/task_manager.py:去掉 douyin 专属的"清理废弃 comment 参数"迁移块,改为**启动时告警** 仍残留已删类型的任务(只告警不改数据);run_job_now 对已删类型直接返回明确错误, 不再"报已触发、线程里静默失败" - 清理残留:douyin_running 状态位(无任何读取方)、core/__init__、core/actions/*、 core/logger.py 注释里的抖音示例 - 文档:README(特性/目录树/类型表/参数表/示例)、TASK_DEV(目录树/注册说明/模板引用)、 ARCHITECTURE(注册示例/action 注册表示例)、API.md(task_types 与任务 JSON 示例)、 AI_TASK_GEN(P1 去掉 douyin 预设)、DEVELOPMENT - 注:示例里"抖音"作为**App 名**(MCP 列应用、AI 建任务的需求举例)保留,与任务类型无关 自测(全部通过):类型列表只剩 generic_steps;建任务不传类型默认 generic_steps;传 douyin_nurture 被 400 拒;库里塞残留旧类型任务 → 启动日志告警 + 执行返回明确错误 + 不自动删用户数据;前端新建任务下拉 1 项且默认选中、界面建任务成功;监控页卡片两个按钮 + 覆盖设备正常。临时任务/数据验完已清理,任务集合复原。
28 lines
978 B
Python
28 lines
978 B
Python
"""全局操作框架:所有 app 任务共用的 Action 基类与注册机制。
|
||
|
||
为什么放这里:
|
||
某个 app 专属的 xpath 只适用那个 app,留在 tasks/<app>/actions/。
|
||
但"操作"的抽象(BaseAction 接口、概率触发、注册机制)是通用的,
|
||
放这里让所有 app 任务共享同一套操作开发范式。
|
||
|
||
加新 app 的专属操作:
|
||
在 tasks/<app>/actions/ 下建 .py,继承本模块的 BaseAction,
|
||
用 @register_action 装饰(注册到该 app 自己的注册表,见下方)。
|
||
|
||
加跨 app 通用操作(如"滑动到下一个"、"等待元素出现"):
|
||
在 core/actions/ 下建 .py,继承 BaseAction。
|
||
"""
|
||
from .base import (
|
||
BaseAction, ActionContext,
|
||
register_action, create_action_registry,
|
||
list_actions, get_action,
|
||
should_trigger,
|
||
)
|
||
|
||
__all__ = [
|
||
"BaseAction", "ActionContext",
|
||
"register_action", "create_action_registry",
|
||
"list_actions", "get_action",
|
||
"should_trigger",
|
||
]
|