29 lines
805 B
Python
29 lines
805 B
Python
from fastapi import FastAPI
|
|
from contextlib import asynccontextmanager
|
|
from database import Base, engine
|
|
from routes import router
|
|
from apscheduler.schedulers.background import BackgroundScheduler
|
|
from webscrapper import search_from_keywords_file
|
|
|
|
# Crear las tablas en MySQL si no existen
|
|
Base.metadata.create_all(bind=engine)
|
|
|
|
# Configurar el scheduler
|
|
scheduler = BackgroundScheduler()
|
|
scheduler.add_job(search_from_keywords_file, "cron", hour=11, minute=0) #Ejecutar a las 01:00
|
|
scheduler.add_job(search_from_keywords_file, "cron", hour=18, minute=0) #Ejecutar a las 01:00
|
|
|
|
|
|
@asynccontextmanager
|
|
async def lifespan(app: FastAPI):
|
|
scheduler.start()
|
|
yield
|
|
scheduler.shutdown()
|
|
|
|
# Inicializar FastAPI con lifespan
|
|
app = FastAPI(lifespan=lifespan)
|
|
|
|
# Incluir rutas
|
|
app.include_router(router)
|
|
|