add workflow framework

This commit is contained in:
jxxghp
2025-02-12 17:49:01 +08:00
parent 943a462c69
commit 827d8f6d84
7 changed files with 36 additions and 1 deletions
+6
View File
@@ -0,0 +1,6 @@
class BaseAction:
"""
工作流动作基类
"""
async def execute(self, params: dict, context: dict) -> dict:
raise NotImplementedError
+2 -1
View File
@@ -2,7 +2,7 @@ from fastapi import APIRouter
from app.api.endpoints import login, user, site, message, webhook, subscribe, \ from app.api.endpoints import login, user, site, message, webhook, subscribe, \
media, douban, search, plugin, tmdb, history, system, download, dashboard, \ media, douban, search, plugin, tmdb, history, system, download, dashboard, \
transfer, mediaserver, bangumi, storage, discover, recommend transfer, mediaserver, bangumi, storage, discover, recommend, workflow
api_router = APIRouter() api_router = APIRouter()
api_router.include_router(login.router, prefix="/login", tags=["login"]) api_router.include_router(login.router, prefix="/login", tags=["login"])
@@ -26,3 +26,4 @@ api_router.include_router(mediaserver.router, prefix="/mediaserver", tags=["medi
api_router.include_router(bangumi.router, prefix="/bangumi", tags=["bangumi"]) api_router.include_router(bangumi.router, prefix="/bangumi", tags=["bangumi"])
api_router.include_router(discover.router, prefix="/discover", tags=["discover"]) api_router.include_router(discover.router, prefix="/discover", tags=["discover"])
api_router.include_router(recommend.router, prefix="/recommend", tags=["recommend"]) api_router.include_router(recommend.router, prefix="/recommend", tags=["recommend"])
api_router.include_router(workflow.router, prefix="/workflow", tags=["workflow"])
+3
View File
@@ -0,0 +1,3 @@
from fastapi import APIRouter
router = APIRouter()
+24
View File
@@ -0,0 +1,24 @@
class WorkFlowManager:
"""
工作流管理器
"""
def __init__(self):
self.workflows = {}
def register(self, workflow):
"""
注册工作流
:param workflow: 工作流对象
:return:
"""
self.workflows[workflow.name] = workflow
def get_workflow(self, name):
"""
获取工作流
:param name: 工作流名称
:return:
"""
return self.workflows.get(name)
View File
+1
View File
@@ -19,3 +19,4 @@ from .file import *
from .exception import * from .exception import *
from .system import * from .system import *
from .event import * from .event import *
from .workflow import *
View File