Files
inversionitasbot/app/main.py

30 lines
898 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, search_from_indices_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
scheduler.add_job(search_from_indices_file, "interval", minutes=1)
@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)