From 1245661c636b52ee548e9109ecd740999cccb9a2 Mon Sep 17 00:00:00 2001 From: amoghjalan Date: Tue, 23 Apr 2024 14:23:58 +0530 Subject: [PATCH] Update sync api --- backend/analytics_server/mhq/api/sync.py | 13 ++++++++++++- backend/analytics_server/mhq/service/sync_data.py | 12 ------------ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/backend/analytics_server/mhq/api/sync.py b/backend/analytics_server/mhq/api/sync.py index d761daf0d..d1ed5e3b9 100644 --- a/backend/analytics_server/mhq/api/sync.py +++ b/backend/analytics_server/mhq/api/sync.py @@ -1,6 +1,9 @@ from flask import Blueprint +from mhq.service.query_validator import get_query_validator from mhq.service.sync_data import trigger_data_sync +from mhq.utils.lock import get_redis_lock_service +from mhq.utils.log import LOG from mhq.utils.time import time_now app = Blueprint("sync", __name__) @@ -8,5 +11,13 @@ @app.route("/sync", methods=["POST"]) def sync(): - trigger_data_sync() + default_org = get_query_validator().get_default_org() + if not default_org: + raise Exception("Default org not found") + org_id = str(default_org.id) + with get_redis_lock_service().acquire_lock("{org}:" + f"{str(org_id)}:data_sync"): + try: + trigger_data_sync(org_id) + except Exception as e: + LOG.error(f"Error syncing data for org {org_id}: {str(e)}") return {"message": "sync started", "time": time_now().isoformat()} diff --git a/backend/analytics_server/mhq/service/sync_data.py b/backend/analytics_server/mhq/service/sync_data.py index a629aeaeb..a2d0b44e5 100644 --- a/backend/analytics_server/mhq/service/sync_data.py +++ b/backend/analytics_server/mhq/service/sync_data.py @@ -26,15 +26,3 @@ def trigger_data_sync(org_id: str): ) continue LOG.info(f"Data sync for org {org_id} completed successfully") - - -if __name__ == "__main__": - default_org = get_query_validator().get_default_org() - if not default_org: - raise Exception("Default org not found") - org_id = str(default_org.id) - with get_redis_lock_service().acquire_lock("{org}:" + f"{str(org_id)}:data_sync"): - try: - trigger_data_sync(org_id) - except Exception as e: - LOG.error(f"Error syncing data for org {org_id}: {str(e)}")