Forráskód Böngészése

worker.heartbeat: We may lost the race at interpreter shutdown, so the gc has already collected time.time().

Ask Solem 14 éve
szülő
commit
30030cba53
1 módosított fájl, 7 hozzáadás és 1 törlés
  1. 7 1
      celery/worker/heartbeat.py

+ 7 - 1
celery/worker/heartbeat.py

@@ -38,7 +38,13 @@ class Heart(threading.Thread):
 
         last_beat = None
         while 1:
-            now = time()
+            try:
+                now = time()
+            except TypeError:
+                # we lost the race at interpreter shutdown,
+                # so time has been collected by gc.
+                return
+
             if not last_beat or now > last_beat + (60.0 / bpm):
                 last_beat = now
                 dispatch("worker-heartbeat")