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)