11import logging
2+ import os
23
34from django .apps import AppConfig
45from 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