Skip to content

Commit 95d80d1

Browse files
committed
Merge pull request #100 in CATS/pyclowder from bugfix/CATSPYC-30-heartbeat-of-extractors-crashes to release/2.2.3
* commit '85d9a090f04c24e8f13bf6dd6dea46c048b3a5a8': fix bug with heartbeat monitor moved to clowder
2 parents 151d3b0 + 85d9a09 commit 95d80d1

File tree

5 files changed

+16
-192
lines changed

5 files changed

+16
-192
lines changed

contrib/monitor/Dockerfile

Lines changed: 0 additions & 11 deletions
This file was deleted.

contrib/monitor/monitor.py

Lines changed: 0 additions & 169 deletions
This file was deleted.

docker.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,3 @@ ${DEBUG} docker build --build-arg PYCLOWDER_PYTHON="-python3" --tag clowder/extr
2525
${DEBUG} docker build --build-arg PYCLOWDER_PYTHON="-python3" --tag clowder/extractors-wordcount:latest sample-extractors/wordcount
2626
${DEBUG} docker build --build-arg PYCLOWDER_PYTHON="-python3" --tag clowder/extractors-wordcount-simple-extractor:latest sample-extractors/wordcount-simple-extractor
2727
${DEBUG} docker build --build-arg PYCLOWDER_PYTHON="-python3" --tag clowder/extractors-wordcount-simple-r-extractor:latest sample-extractors/wordcount-simple-r-extractor
28-
29-
# build contrib
30-
${DEBUG} docker build --tag clowder/extractors-monitor:latest contrib/monitor

pyclowder/connectors.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import os
3838
import pickle
3939
import subprocess
40+
import sys
4041
import time
4142
import tempfile
4243
import threading
@@ -808,10 +809,13 @@ def send_heartbeat(self):
808809
'queue': self.rabbitmq_queue,
809810
'extractor_info': self.extractor_info
810811
}
812+
next_heartbeat = time.time()
811813
while self.thread:
812814
try:
813-
self.channel.basic_publish(exchange='extractors', routing_key='', body=json.dumps(message))
814-
time.sleep(self.heartbeat)
815+
self.channel.connection.process_data_events()
816+
if time.time() >= next_heartbeat:
817+
self.channel.basic_publish(exchange='extractors', routing_key='', body=json.dumps(message))
818+
next_heartbeat = time.time() + self.heartbeat
815819
except SystemExit:
816820
raise
817821
except KeyboardInterrupt:
@@ -820,6 +824,8 @@ def send_heartbeat(self):
820824
raise
821825
except Exception: # pylint: disable=broad-except
822826
logging.getLogger(__name__).exception("Error while sending heartbeat.")
827+
sys.exit(-1)
828+
time.sleep(1)
823829

824830

825831
class RabbitMQHandler(Connector):

release.sh

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ else
3737
fi
3838

3939
# tag all images and push if needed
40-
for i in pyclowder pyclowder-python3 extractors-monitor extractors-wordcount; do
40+
for i in pyclowder pyclowder-python3 extractors-wordcount; do
4141
for v in ${TAGS}; do
4242
if [ "$v" != "latest" -o "$SERVER" != "" ]; then
4343
${DEBUG} docker tag clowder/${i}:latest ${SERVER}clowder/${i}:${v}
@@ -49,15 +49,16 @@ done
4949
# tag all images for onbuild and push if needed
5050
for i in pyclowder extractors-binary-preview extractors-simple-extractor extractors-simple-r-extractor; do
5151
for j in "" "-python3"; do
52-
for v in ${VERSION}; do
52+
for v in ${TAGS}; do
5353
if [ "$v" != "latest" ]; then
54-
${DEBUG} docker tag clowder/${i}:onbuild ${SERVER}clowder/${i}:${v}-onbuild
55-
${DEBUG} docker push ${SERVER}clowder/${i}:${v}-onbuild
54+
${DEBUG} docker tag clowder/${i}${j}:onbuild ${SERVER}clowder/${i}${j}:${v}-onbuild
55+
${DEBUG} docker push ${SERVER}clowder/${i}${j}:${v}-onbuild
5656
elif [ "$SERVER" != "" ]; then
57-
${DEBUG} docker tag clowder/${i}:onbuild ${SERVER}clowder/${i}:onbuild
58-
${DEBUG} docker push ${SERVER}clowder/${i}:onbuild
57+
${DEBUG} docker tag clowder/${i}{j}:onbuild ${SERVER}clowder/${i}${j}:onbuild
58+
${DEBUG} docker push ${SERVER}clowder/${i}${j}:onbuild
5959
else
60-
${DEBUG} docker push clowder/${i}:onbuild
60+
${DEBUG} docker tag clowder/${i}${j}:onbuild clowder/${i}${j}:onbuild
61+
${DEBUG} docker push clowder/${i}${j}:onbuild
6162
fi
6263
done
6364
done

0 commit comments

Comments
 (0)