Prechádzať zdrojové kódy

Fix uptime check on Python 2.6

Mike Naberezny 9 rokov pred
rodič
commit
d8d35961ad
1 zmenil súbory, kde vykonal 5 pridanie a 1 odobranie
  1. 5 1
      supervisor/rpcinterface.py

+ 5 - 1
supervisor/rpcinterface.py

@@ -588,7 +588,7 @@ class SupervisorNamespaceRPCInterface:
             start_dt = datetime.datetime(*time.gmtime(start)[:6])
             start_dt = datetime.datetime(*time.gmtime(start)[:6])
             now_dt = datetime.datetime(*time.gmtime(now)[:6])
             now_dt = datetime.datetime(*time.gmtime(now)[:6])
             uptime = now_dt - start_dt
             uptime = now_dt - start_dt
-            if uptime.total_seconds() < 0: # system time set back
+            if _total_seconds(uptime) < 0: # system time set back
                 uptime = datetime.timedelta(0)
                 uptime = datetime.timedelta(0)
             desc = 'pid %s, uptime %s' % (info['pid'], uptime)
             desc = 'pid %s, uptime %s' % (info['pid'], uptime)
 
 
@@ -894,6 +894,10 @@ class SupervisorNamespaceRPCInterface:
 
 
         return True
         return True
 
 
+def _total_seconds(timedelta):
+    return ((timedelta.days * 86400 + timedelta.seconds) * 10**6 +
+                timedelta.microseconds) / 10**6
+
 def make_allfunc(processes, predicate, func, **extra_kwargs):
 def make_allfunc(processes, predicate, func, **extra_kwargs):
     """ Return a closure representing a function that calls a
     """ Return a closure representing a function that calls a
     function for every process, and returns a result """
     function for every process, and returns a result """