openreplay/ee/api/app_crons.py
Taha Yassine Kraiem 45701a6ecc feat(crons): run 24/7
feat(alerts): support env-file override
2022-07-04 14:26:33 +02:00

30 lines
827 B
Python

print("============= CRONS =============")
import logging
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from decouple import config
from fastapi import FastAPI
from routers.crons import core_crons, core_dynamic_crons
app = FastAPI()
@app.get("/")
async def root():
return {"status": "Running"}
app.schedule = AsyncIOScheduler()
app.schedule.start()
if not config("LOCAL_CRONS", default=False, cast=bool):
for job in core_crons.cron_jobs + core_dynamic_crons.cron_jobs + core_dynamic_crons.SINGLE_CRONS:
app.schedule.add_job(id=job["func"].__name__, **job)
logging.basicConfig(level=config("LOGLEVEL", default=logging.INFO))
logging.getLogger('apscheduler').setLevel(config("LOGLEVEL", default=logging.INFO))
else:
print("Nothing to do because LOCAL_CRONS mode is enabled.")