code: def select_workers_to_close(scheduler, n_to_close):
      
      workers = list(scheduler.workers.values())
      assert n_to_close <= len(workers)
      key = lambda ws: ws.metrics['memory']
      to_close = set(sorted(scheduler.idle, key=key)[:n_to_close])
  
      if len(to_close) < n_to_close:
          rest = sorted(workers, key=key, reverse=True)
          while len(to_close) < n_to_close:
              to_close.add(rest.pop())
  
      return [ws.address for ws in to_close]
docs: Select n workers to close from scheduler