CosmicShareMain / app /main.py
garvitcpp's picture
Update app/main.py
b8caa4b verified
from fastapi import FastAPI
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from .routes import file_routes
from . import create_app
from .services.storage_service import StorageService
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
app = create_app()
storage_service = StorageService()
# Register routes
app.include_router(file_routes.router, prefix="/api")
# Set up scheduler for cleanup
scheduler = AsyncIOScheduler()
@app.on_event("startup")
async def startup_event():
logger.info("Starting up the application")
scheduler.add_job(storage_service.cleanup_expired_files, 'interval', minutes=1, id='cleanup_job')
scheduler.start()
logger.info("Scheduler started")
@app.get("/")
async def root():
return {"message": "File Sharing API with auto-cleanup"}
# Handle shutdown
@app.on_event("shutdown")
async def shutdown_event():
logger.info("Shutting down the application")
scheduler.shutdown()
logger.info("Scheduler shut down")
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=7860)