japi/apps/jfile/app.py
2025-05-12 02:39:56 +08:00

35 lines
838 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"
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
)