系统业务任务插件化迁移:下沉7项非刚需任务并接入平滑迁移
- 系统任务保留刚需三项:登录巡检、消息计数入库、媒体补偿处理;移除新闻/Epic/排行/PDF/秀人维护等业务型系统任务定义\n- 新增 daily_news、epic_free、daily_ranking、sehuatang_push 四个插件,将原系统业务任务改为插件可调度动作\n- 扩展 xiuren_image 插件调度动作,新增秀人下载、绅士R15下载、图片缓存更新三项维护任务\n- 新增系统任务到插件任务的幂等迁移逻辑:按旧 job_key 映射到插件 action,同步 trigger_type/trigger_config/enabled,并通过 payload 标记防止反复覆盖\n- 在 Robot 启动流程中接入迁移执行与重载,并清理已迁移的历史系统任务记录,避免后台双份维护\n- 扩展插件调度数据库操作:支持按 plugin_name + action_key 精确查询,便于迁移与对账
This commit is contained in:
@@ -97,6 +97,24 @@ class PluginScheduleDBOperator(BaseDBOperator):
|
||||
self._parse_json_field(row, "payload")
|
||||
return row
|
||||
|
||||
def get_schedule_by_plugin_action(self, plugin_name: str, action_key: str) -> Optional[Dict[str, Any]]:
|
||||
"""按插件名+动作键查询调度配置。"""
|
||||
row = self.execute_query(
|
||||
"""
|
||||
SELECT * FROM t_plugin_schedules
|
||||
WHERE plugin_name = %s AND action_key = %s
|
||||
LIMIT 1
|
||||
""",
|
||||
(plugin_name, action_key),
|
||||
fetch_one=True,
|
||||
)
|
||||
if not row:
|
||||
return None
|
||||
self._parse_json_field(row, "trigger_config")
|
||||
self._parse_json_field(row, "target_config")
|
||||
self._parse_json_field(row, "payload")
|
||||
return row
|
||||
|
||||
def upsert_default_schedule(self, data: Dict[str, Any]) -> bool:
|
||||
try:
|
||||
sql = """
|
||||
|
||||
Reference in New Issue
Block a user