You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by ja...@apache.org on 2019/04/30 17:26:34 UTC
[incubator-openwhisk-package-kafka] branch master updated: Reset
consumer restart counter after 24 hours (#337)
This is an automated email from the ASF dual-hosted git repository.
japetrsn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-package-kafka.git
The following commit(s) were added to refs/heads/master by this push:
new 7ebdaa6 Reset consumer restart counter after 24 hours (#337)
7ebdaa6 is described below
commit 7ebdaa67d5e2b5813014e0c76e8e8ad4d9e62ea5
Author: James Dubee <jw...@us.ibm.com>
AuthorDate: Tue Apr 30 13:26:29 2019 -0400
Reset consumer restart counter after 24 hours (#337)
* Reset consumer restart counter after 24 hours
* Use constant for seconds in day
---
provider/consumer.py | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/provider/consumer.py b/provider/consumer.py
index f5088aa..2ced050 100644
--- a/provider/consumer.py
+++ b/provider/consumer.py
@@ -34,10 +34,12 @@ from multiprocessing import Process, Manager
from urlparse import urlparse
from authHandler import IAMAuth
from requests.auth import HTTPBasicAuth
+from datetime import datetime, timedelta
local_dev = os.getenv('LOCAL_DEV', 'False')
payload_limit = int(os.getenv('PAYLOAD_LIMIT', 900000))
check_ssl = (local_dev == 'False')
+seconds_in_day = 86400
processingManager = Manager()
@@ -66,6 +68,7 @@ class Consumer:
self.process = ConsumerProcess(trigger, params, self.sharedDictionary)
self.__restartCount = 0
+ self.__lastRestart = datetime.now()
def currentState(self):
return self.sharedDictionary['currentState']
@@ -96,7 +99,13 @@ class Consumer:
logging.info('[{}] Request to restart a consumer that is already slated for deletion.'.format(self.trigger))
return
- self.__restartCount += 1
+ timeBetweenRestarts = datetime.now() - self.__lastRestart
+ self.__lastRestart = datetime.now()
+
+ if timeBetweenRestarts.total_seconds() >= seconds_in_day:
+ self.__restartCount = 1
+ else:
+ self.__restartCount += 1
logging.info('[{}] Quietly shutting down consumer for restart'.format(self.trigger))
self.setDesiredState(Consumer.State.Restart)