+ def _begin_node_shutdown(self, node_actor, cancellable):
+ cloud_node_id = node_actor.cloud_node.get().id
+ if cloud_node_id in self.shutdowns:
+ return None
+ shutdown = self._node_shutdown.start(
+ timer_actor=self._timer, cloud_client=self._new_cloud(),
+ node_monitor=node_actor.actor_ref, cancellable=cancellable).proxy()
+ self.shutdowns[cloud_node_id] = shutdown
+ shutdown.subscribe(self._later.node_finished_shutdown)
+