Skip to content

Commit 8185a1e

Browse files
authored
Merge pull request #176 from DrDroidLab/feature/new_metadata_extraction
feat: Add Celery task overview, conditionally register connectors bas…
2 parents 8afd3a9 + d9da34a commit 8185a1e

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

connectors/apps.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
import os
23

34
from django.apps import AppConfig
45
from django.conf import settings
@@ -22,9 +23,15 @@ def ready(self):
2223
drd_cloud_api_token = settings.DRD_CLOUD_API_TOKEN
2324
loaded_connections = settings.LOADED_CONNECTIONS if settings.LOADED_CONNECTIONS else {}
2425
if loaded_connections:
25-
# Register connectors with DRD Cloud - asset refresh will be triggered by backend
26-
register_connectors(drd_cloud_host, drd_cloud_api_token, loaded_connections)
27-
# Validate connector keys
26+
# Only register connectors from the 'exec' queue worker to avoid duplicate registrations
27+
celery_queue = os.environ.get('CELERY_QUEUE', '')
28+
if celery_queue == 'exec':
29+
register_connectors(drd_cloud_host, drd_cloud_api_token, loaded_connections)
30+
logger.info(f'Registered {len(loaded_connections)} connectors from exec queue worker.')
31+
else:
32+
logger.info(f'Skipping connector registration on queue: {celery_queue}')
33+
34+
# Validate connector keys (always run validation)
2835
for c, metadata in loaded_connections.items():
2936
connector_proto = credential_yaml_to_connector_proto(c, metadata)
3037
connector_name = connector_proto.name.value
@@ -38,4 +45,3 @@ def ready(self):
3845
break
3946
if not all_keys_found:
4047
raise ValueError(f'Missing required connector keys for {connector_name}')
41-
logger.info(f'Registered {len(loaded_connections)} connectors. Asset refresh will be triggered by backend.')

0 commit comments

Comments
 (0)