Skip to content

Commit 6835a78

Browse files
authored
Merge branch 'master' into pip-tools
2 parents f21b21b + 403eee4 commit 6835a78

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
66

77
## Unreleased
88

9+
### Added
10+
- ability to set the heartbeat for an extractractor [#42](https://github.com/clowder-framework/pyclowder/issues/42)
11+
912
### Changed
13+
- update wordcount extractor to not use docker image
1014
- using piptools for requirements
1115

1216
## 2.4.1 - 2021-07-21

pyclowder/connectors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -645,7 +645,7 @@ def __init__(self, extractor_name, extractor_info,
645645
self.consumer_tag = None
646646
self.worker = None
647647
self.announcer = None
648-
self.heartbeat = heartbeat
648+
self.heartbeat = float(heartbeat)
649649

650650
def connect(self):
651651
"""connect to rabbitmq using URL parameters"""

pyclowder/extractors.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ def __init__(self):
7474
if os.getenv('LOCAL_PROCESSING', "False").lower() == "true":
7575
connector_default = "Local"
7676
max_retry = os.getenv('CLOWDER_MAX_RETRY', 10)
77+
heartbeat = os.getenv('HEARTBEAT', 5*60)
7778

7879
# create the actual extractor
7980
self.parser = argparse.ArgumentParser(description=self.extractor_info['description'])
@@ -111,6 +112,8 @@ def __init__(self):
111112
help='instance will bind itself to RabbitMQ by name but NOT file type')
112113
self.parser.add_argument('--max-retry', dest='max_retry', default=max_retry,
113114
help='Maximum number of retries if an error happens in the extractor')
115+
self.parser.add_argument('--heartbeat', dest='heartbeat', default=heartbeat,
116+
help='Time in seconds between extractor heartbeats (default=%d)' % heartbeat)
114117

115118
def setup(self):
116119
"""Parse command line arguments and so some setup
@@ -165,7 +168,8 @@ def start(self):
165168
rabbitmq_queue=self.args.rabbitmq_queuename,
166169
mounted_paths=json.loads(self.args.mounted_paths),
167170
clowder_url=self.args.clowder_url,
168-
max_retry=self.args.max_retry)
171+
max_retry=self.args.max_retry,
172+
heartbeat=self.args.heartbeat)
169173
connector.connect()
170174
connector.register_extractor(self.args.registration_endpoints)
171175
threading.Thread(target=connector.listen, name="RabbitMQConnector").start()

0 commit comments

Comments
 (0)