diff --git a/minerva/cluster.py b/minerva/cluster.py index 5ff614b..02ffbc5 100644 --- a/minerva/cluster.py +++ b/minerva/cluster.py @@ -113,3 +113,22 @@ class Cluster: return security_group_id +# Monkeypatch to address a known bug in Dask +# https://github.com/dask/distributed/issues/4305 +from dask.distributed import Future +import sys + +def monkeypatch_del(self): + try: + self.release() + except AttributeError: + # Occasionally we see this error when shutting down the client + # https://github.com/dask/distributed/issues/4305 + if not sys.is_finalizing(): + raise + #pass + except RuntimeError: # closed event loop + pass + +Future.__del__ = monkeypatch_del +