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" file_prefix = "upscaled_" retention_hours = settings.file_retention_hours cleaner = FileCleaner(save_dir, file_prefix, 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 )