diff --git a/distributed/worker.py b/distributed/worker.py index 821b3084a86..34323cb4584 100644 --- a/distributed/worker.py +++ b/distributed/worker.py @@ -945,6 +945,8 @@ async def heartbeat(self): logger.debug("Heartbeat: %s", self.address) try: start = time() + with self.active_threads_lock: + active_keys = list(self.active_threads.values()) response = await retry_operation( self.scheduler.heartbeat_worker, address=self.contact_address, @@ -952,7 +954,7 @@ async def heartbeat(self): metrics=await self.get_metrics(), executing={ key: start - self.tasks[key].start_time - for key in self.active_threads.values() + for key in active_keys if key in self.tasks }, )