Browse Source

events.State: Show timestamps in drift warning

Ask Solem 11 years ago
parent
commit
77587a784e
1 changed files with 5 additions and 2 deletions
  1. 5 2
      celery/events/state.py

+ 5 - 2
celery/events/state.py

@@ -20,6 +20,7 @@ from __future__ import absolute_import
 
 import threading
 
+from datetime import datetime
 from heapq import heappush, heappop
 from itertools import islice
 from time import time
@@ -44,7 +45,7 @@ HEARTBEAT_DRIFT_MAX = 16
 
 DRIFT_WARNING = """\
 Substantial drift from %s may mean clocks are out of sync.  Current drift is
-%s seconds (including message overhead).\
+%s seconds.  [orig: %s recv: %s]
 """
 
 logger = get_logger(__name__)
@@ -116,7 +117,9 @@ class Worker(AttributeDict):
             return
         drift = abs(int(received) - int(timestamp))
         if drift > HEARTBEAT_DRIFT_MAX:
-            warn(DRIFT_WARNING, self.hostname, drift)
+            warn(DRIFT_WARNING, self.hostname, drift,
+                 datetime.fromtimestamp(received),
+                 datetime.fromtimestamp(timestamp))
         heartbeats, hbmax = self.heartbeats, self.heartbeat_max
         if not heartbeats or (received and received > heartbeats[-1]):
             heappush(heartbeats, received)