feat(events): 实现转写完成后的文件清理功能

- 新增 events 模块,包括 handlers 和 signals 子模块
- 在 handlers 中实现 cleanup_temp_files 函数,用于清理转写临时文件
- 在 signals 中定义 transcription_finished 信号
- 修改 main.py,添加 startup_event 函数以注册事件处理器- 更新 WhisperTranscriber 类,增加 on_finish 方法并发送转写完成信号
- 在 base.py 中添加 TranscriberBase 类的 on_finish 方法占位符
This commit is contained in:
Jefferyhcool
2025-04-13 23:29:33 +08:00
parent 595a38723f
commit 43b88c85fa
7 changed files with 62 additions and 26 deletions

View File

@@ -7,6 +7,7 @@ from dotenv import load_dotenv
from app import create_app
from app.db.video_task_dao import init_video_task_table
from app.transcriber.transcriber_provider import get_transcriber
from events import register_handler
from ffmpeg_helper import ensure_ffmpeg_or_raise
load_dotenv()
@@ -26,15 +27,13 @@ if not os.path.exists(out_dir):
app = create_app()
app.mount(static_path, StaticFiles(directory=static_dir), name="static")
async def startup_event():
register_handler()
@app.on_event("startup")
def check_env():
async def startup_event():
register_handler()
ensure_ffmpeg_or_raise()
@app.on_event("startup")
async def load_model_on_startup():
get_transcriber()
@app.on_event("startup")
def startup():
init_video_task_table()
if __name__ == "__main__":