japi/apps/jfile/app.py
jingrow 173f788ab7 fix(jfile): 移除文件清理的前缀限制,清理所有过期文件
- 移除 FileCleaner 的前缀过滤逻辑
- 清理 files 目录下所有超过保留时间的文件
- 修复 split_ 前缀文件未被清理的问题
2025-11-20 10:33:20 +08:00

34 lines
799 B
Python

import uvicorn
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from file_cleaner import FileCleaner
from settings import settings
import asyncio
app = FastAPI(
title="www",
description="公共静态资源访问服务",
version="1.0.0"
)
# 挂载静态文件目录
app.mount("/files", StaticFiles(directory="files"), name="files")
# 注册文件定时清理任务
save_dir = "files"
retention_hours = settings.file_retention_hours
cleaner = FileCleaner(save_dir, retention_hours)
@app.on_event("startup")
async def startup_event():
asyncio.create_task(cleaner.periodic_cleanup())
if __name__ == "__main__":
import uvicorn
uvicorn.run(
"app:app",
host=settings.host,
port=settings.port,
reload=settings.debug
)