diff --git a/api/routers/subs/metrics.py b/api/routers/subs/metrics.py index c68eec3e9..b8332aa85 100644 --- a/api/routers/subs/metrics.py +++ b/api/routers/subs/metrics.py @@ -142,7 +142,7 @@ def get_custom_metrics(projectId: int, context: schemas.CurrentContext = Depends @app.get('/{projectId}/metrics/{metric_id}', tags=["dashboard"]) @app.get('/{projectId}/custom_metrics/{metric_id}', tags=["customMetrics"]) -def get_custom_metric(projectId: int, metric_id: int, context: schemas.CurrentContext = Depends(OR_context)): +def get_custom_metric(projectId: int, metric_id: str, context: schemas.CurrentContext = Depends(OR_context)): data = custom_metrics.get(project_id=projectId, user_id=context.user_id, metric_id=metric_id) if data is None: return {"errors": ["custom metric not found"]} diff --git a/ee/api/app_crons.py b/ee/api/app_crons.py index ced170bd1..3dfea4fe4 100644 --- a/ee/api/app_crons.py +++ b/ee/api/app_crons.py @@ -1,30 +1,19 @@ print("============= CRONS =============") +import sys -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() +from routers.crons import core_dynamic_crons -@app.get("/") -async def root(): - return {"status": "Running"} +def process(action): + { + "TELEMETRY": core_dynamic_crons.telemetry_cron, + "JOB": core_dynamic_crons.run_scheduled_jobs, + "REPORT": core_dynamic_crons.weekly_report2 + }.get(action.upper(), lambda: print(f"{action} not found in crons-definitions"))() -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.") +if __name__ == '__main__': + if len(sys.argv) < 2 or len(sys.argv[1]) < 1: + print("please provide actions as argument") + else: + process(sys.argv[1]) diff --git a/ee/api/entrypoint.sh b/ee/api/entrypoint.sh index d8ca9fa4f..60396491c 100755 --- a/ee/api/entrypoint.sh +++ b/ee/api/entrypoint.sh @@ -1,5 +1,6 @@ #!/bin/bash bash env_vars.sh +source .env.override cd sourcemap-reader nohup npm start &> /tmp/sourcemap-reader.log & cd .. diff --git a/ee/api/entrypoint_alerts.sh b/ee/api/entrypoint_alerts.sh index 3165a88c7..9d6c95358 100755 --- a/ee/api/entrypoint_alerts.sh +++ b/ee/api/entrypoint_alerts.sh @@ -1,3 +1,4 @@ #!/bin/bash bash env_vars.sh +source .env.override uvicorn app:app --host 0.0.0.0 --reload diff --git a/ee/api/entrypoint_crons.sh b/ee/api/entrypoint_crons.sh index cf2c18394..1817e547e 100755 --- a/ee/api/entrypoint_crons.sh +++ b/ee/api/entrypoint_crons.sh @@ -1,3 +1,4 @@ #!/bin/bash bash env_vars.sh +source .env.override uvicorn app:app --host 0.0.0.0 --reload --proxy-headers diff --git a/ee/api/env_vars.sh b/ee/api/env_vars.sh index 4375c3d89..5892bd10c 100755 --- a/ee/api/env_vars.sh +++ b/ee/api/env_vars.sh @@ -6,23 +6,8 @@ else override=$ENV_CONFIG_OVERRIDE_PATH if [ -f "$override" ]; then cp $override .env.override - override=.env.override - # to remove endOfLine form sed result - echo "" >> $override - sed 's/=.*//;/^$/d' $override > .replacements - - # to remove all defined os-env-vars - cat .replacements | while read line - do - unset $line - done - rm .replacements - - # to merge predefined .env with the override.env - cp .env .env.d - sort -u -t '=' -k 1,1 $override .env.d > .env - rm .env.d else + touch .env.override echo "$override does not exist." fi