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
app/actions/__init__.py Normal file
View File

@@ -0,0 +1,6 @@
class BaseAction:
"""
工作流动作基类
"""
async def execute(self, params: dict, context: dict) -> dict:
raise NotImplementedError

View File

@@ -2,7 +2,7 @@ from fastapi import APIRouter
from app.api.endpoints import login, user, site, message, webhook, subscribe, \
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.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(discover.router, prefix="/discover", tags=["discover"])
api_router.include_router(recommend.router, prefix="/recommend", tags=["recommend"])
api_router.include_router(workflow.router, prefix="/workflow", tags=["workflow"])

View File

@@ -0,0 +1,3 @@
from fastapi import APIRouter
router = APIRouter()

24
app/core/workflow.py Normal file
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

View File

@@ -19,3 +19,4 @@ from .file import *
from .exception import *
from .system import *
from .event import *
from .workflow import *

0
app/schemas/workflow.py Normal file
View File