def register_worker(i): nonlocal executed_on executed_on += Counter({current_worker().name: 1})
def failon(workers, i): if current_worker().name in workers: raise Exception() else: return i
def node(self): if self._node is None: with catch(RuntimeError): self._node = current_worker() return self._node
def _compute(self): if self.location is None or self.location & current_worker( ).ip_addresses(): return self._local() else: return self._remote()
def _num_connected(): worker = current_worker() return sum(1 for w in worker.peers.filter(node_type='worker') if w.is_connected)