Skip to content

Commit 94592b3

Browse files
committed
remove extractor registration code
1 parent f581ff5 commit 94592b3

File tree

3 files changed

+3
-78
lines changed

3 files changed

+3
-78
lines changed

Dockerfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ ARG PYTHON_VERSION="2.7"
66
# environment variables
77
ENV PYTHON_VERSION=${PYTHON_VERSION} \
88
RABBITMQ_URI="amqp://guest:guest@rabbitmq:5672/%2F" \
9-
RABBITMQ_EXCHANGE="clowder" \
109
RABBITMQ_QUEUE="" \
1110
CLOWDER_URL="" \
1211
REGISTRATION_ENDPOINTS="" \

pyclowder/connectors.py

Lines changed: 3 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
parameters:
1717
1818
* rabbitmq_uri [REQUIRED] : the uri of the RabbitMQ server
19-
* rabbitmq_exchange [OPTIONAL] : the exchange to which to bind the queue
2019
* rabbitmq_key [OPTIONAL] : the key that binds the queue to the exchange
2120
2221
HPCConnector
@@ -63,8 +62,6 @@ class Connector(object):
6362
that there is only one Connector per thread.
6463
"""
6564

66-
registered_clowder = list()
67-
6865
def __init__(self, extractor_name, extractor_info, check_message=None, process_message=None, ssl_verify=True,
6966
mounted_paths=None, clowder_url=None, max_retry=10):
7067
self.extractor_name = extractor_name
@@ -382,8 +379,7 @@ def _prepare_dataset(self, host, secret_key, resource):
382379
def _process_message(self, body):
383380
"""The actual processing of the message.
384381
385-
This will register the extractor with the clowder instance that the message came from.
386-
Next it will call check_message to see if the message should be processed and if the
382+
This will call check_message to see if the message should be processed and if the
387383
file should be downloaded. Finally it will call the actual process_message function.
388384
"""
389385

@@ -408,13 +404,6 @@ def _process_message(self, body):
408404
logging.error("No resource found, this is bad.")
409405
return
410406

411-
# register extractor
412-
if clowder_version != 2:
413-
url = "%sapi/extractors" % source_host
414-
if url not in Connector.registered_clowder:
415-
Connector.registered_clowder.append(url)
416-
self.register_extractor("%s?key=%s" % (url,secret_key))
417-
418407
# tell everybody we are starting to process the file
419408
self.status_update(pyclowder.utils.StatusMessage.start, resource, "Started processing.")
420409

@@ -516,32 +505,6 @@ def _process_message(self, body):
516505
else:
517506
self.message_error(resource, message)
518507

519-
def register_extractor(self, endpoints):
520-
"""Register extractor info with Clowder.
521-
522-
This assumes a file called extractor_info.json to be located in either the
523-
current working directory, or the folder where the main program is started.
524-
"""
525-
if not endpoints or endpoints == "":
526-
return
527-
528-
logger = logging.getLogger(__name__)
529-
530-
headers = {'Content-Type': 'application/json'}
531-
data = self.extractor_info
532-
533-
for url in endpoints.split(','):
534-
if url not in Connector.registered_clowder:
535-
Connector.registered_clowder.append(url)
536-
try:
537-
result = requests.post(url.strip(), headers=headers,
538-
data=json.dumps(data),
539-
verify=self.ssl_verify)
540-
result.raise_for_status()
541-
logger.debug("Registering extractor with %s : %s", url, result.text)
542-
except Exception as exc: # pylint: disable=broad-except
543-
logger.exception('Error in registering extractor: ' + str(exc))
544-
545508
# pylint: disable=no-self-use
546509
def status_update(self, status, resource, message):
547510
"""Sends a status message.
@@ -637,21 +600,17 @@ def delete(self, url, raise_status=True, **kwargs):
637600
class RabbitMQConnector(Connector):
638601
"""Listens for messages on RabbitMQ.
639602
640-
This will connect to rabbitmq and register the extractor with a queue. If the exchange
641-
and key are specified it will bind the exchange to the queue. If an exchange is
642-
specified it will always try to bind the special key extractors.<extractor_info[name]> to the
643-
exchange and queue.
603+
This will connect to rabbitmq and register the extractor with a queue.
644604
"""
645605

646606
# pylint: disable=too-many-arguments
647607
def __init__(self, extractor_name, extractor_info,
648-
rabbitmq_uri, rabbitmq_exchange=None, rabbitmq_key=None, rabbitmq_queue=None,
608+
rabbitmq_uri, rabbitmq_key=None, rabbitmq_queue=None,
649609
check_message=None, process_message=None, ssl_verify=True, mounted_paths=None,
650610
heartbeat=5*60, clowder_url=None, max_retry=10):
651611
super(RabbitMQConnector, self).__init__(extractor_name, extractor_info, check_message, process_message,
652612
ssl_verify, mounted_paths, clowder_url, max_retry)
653613
self.rabbitmq_uri = rabbitmq_uri
654-
self.rabbitmq_exchange = rabbitmq_exchange
655614
self.rabbitmq_key = rabbitmq_key
656615
if rabbitmq_queue is None:
657616
self.rabbitmq_queue = extractor_info['name']
@@ -681,28 +640,6 @@ def connect(self):
681640
self.channel.queue_declare(queue=self.rabbitmq_queue, durable=True)
682641
self.channel.queue_declare(queue='error.'+self.rabbitmq_queue, durable=True)
683642

684-
# register with an exchange
685-
if self.rabbitmq_exchange:
686-
# declare the exchange in case it does not exist
687-
self.channel.exchange_declare(exchange=self.rabbitmq_exchange, exchange_type='topic',
688-
durable=True)
689-
690-
# connect queue and exchange
691-
if self.rabbitmq_key:
692-
if isinstance(self.rabbitmq_key, str):
693-
self.channel.queue_bind(queue=self.rabbitmq_queue,
694-
exchange=self.rabbitmq_exchange,
695-
routing_key=self.rabbitmq_key)
696-
else:
697-
for key in self.rabbitmq_key:
698-
self.channel.queue_bind(queue=self.rabbitmq_queue,
699-
exchange=self.rabbitmq_exchange,
700-
routing_key=key)
701-
702-
self.channel.queue_bind(queue=self.rabbitmq_queue,
703-
exchange=self.rabbitmq_exchange,
704-
routing_key=self.extractor_name)
705-
706643
# start the extractor announcer
707644
self.announcer = RabbitMQBroadcast(self.rabbitmq_uri, self.extractor_info, self.rabbitmq_queue, self.heartbeat)
708645
self.announcer.start_thread()
@@ -938,8 +875,6 @@ def process_messages(self, channel, rabbitmq_queue):
938875
elif msg["type"] == 'resubmit':
939876
jbody = json.loads(self.body)
940877
jbody['retry_count'] = msg['retry_count']
941-
if 'exchange' not in jbody and self.method.exchange:
942-
jbody['exchange'] = self.method.exchange
943878
if 'routing_key' not in jbody and self.method.routing_key and self.method.routing_key != rabbitmq_queue:
944879
jbody['routing_key'] = self.method.routing_key
945880

pyclowder/extractors.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ def __init__(self):
6666
if not rabbitmq_queuename:
6767
rabbitmq_queuename = self.extractor_info['name']
6868
rabbitmq_uri = os.getenv('RABBITMQ_URI', "amqp://guest:[email protected]/%2f")
69-
rabbitmq_exchange = os.getenv('RABBITMQ_EXCHANGE', "")
7069
clowder_url = os.getenv("CLOWDER_URL", "")
7170
registration_endpoints = os.getenv('REGISTRATION_ENDPOINTS', "")
7271
logging_config = os.getenv("LOGGING")
@@ -91,16 +90,11 @@ def __init__(self):
9190
help='pickle file that needs to be processed (only needed for HPC)')
9291
self.parser.add_argument('--clowderURL', nargs='?', dest='clowder_url', default=clowder_url,
9392
help='Clowder host URL')
94-
self.parser.add_argument('--register', '-r', nargs='?', dest="registration_endpoints",
95-
default=registration_endpoints,
96-
help='Clowder registration URL (default=%s)' % registration_endpoints)
9793
self.parser.add_argument('--rabbitmqURI', nargs='?', dest='rabbitmq_uri', default=rabbitmq_uri,
9894
help='rabbitMQ URI (default=%s)' % rabbitmq_uri.replace("%", "%%"))
9995
self.parser.add_argument('--rabbitmqQUEUE', nargs='?', dest='rabbitmq_queuename',
10096
default=rabbitmq_queuename,
10197
help='rabbitMQ queue name (default=%s)' % rabbitmq_queuename)
102-
self.parser.add_argument('--rabbitmqExchange', nargs='?', dest="rabbitmq_exchange", default=rabbitmq_exchange,
103-
help='rabbitMQ exchange (default=%s)' % rabbitmq_exchange)
10498
self.parser.add_argument('--mounts', '-m', dest="mounted_paths", default=mounted_paths,
10599
help="dictionary of {'remote path':'local path'} mount mappings")
106100
self.parser.add_argument('--input-file-path', '-ifp', dest="input_file_path", default=input_file_path,
@@ -170,15 +164,13 @@ def start(self):
170164
check_message=self.check_message,
171165
process_message=self.process_message,
172166
rabbitmq_uri=self.args.rabbitmq_uri,
173-
rabbitmq_exchange=self.args.rabbitmq_exchange,
174167
rabbitmq_key=rabbitmq_key,
175168
rabbitmq_queue=self.args.rabbitmq_queuename,
176169
mounted_paths=json.loads(self.args.mounted_paths),
177170
clowder_url=self.args.clowder_url,
178171
max_retry=self.args.max_retry,
179172
heartbeat=self.args.heartbeat)
180173
connector.connect()
181-
connector.register_extractor(self.args.registration_endpoints)
182174
threading.Thread(target=connector.listen, name="RabbitMQConnector").start()
183175

184176
elif self.args.connector == "HPC":
@@ -192,7 +184,6 @@ def start(self):
192184
picklefile=self.args.hpc_picklefile,
193185
mounted_paths=json.loads(self.args.mounted_paths),
194186
max_retry=self.args.max_retry)
195-
connector.register_extractor(self.args.registration_endpoints)
196187
threading.Thread(target=connector.listen, name="HPCConnector").start()
197188

198189
elif self.args.connector == "Local":

0 commit comments

Comments
 (0)