code: def resource_list(self):
          
          self.prune()
          resources = [
              dict(
                  name=resource,
                  num_total=r_dict['total'],
                  num_used=r_dict['used']
              ) for resource, r_dict in six.iteritems(self.resources())]
          if self._resources is not None:
              consumers = collections.defaultdict(dict)
              for task in self._state.get_active_tasks_by_status(RUNNING):
                  if task.status == RUNNING and task.resources:
                      for resource, amount in six.iteritems(task.resources):
                          consumers[resource][task.id] = self._serialize_task(task.id, include_deps=False)
              for resource in resources:
                  tasks = consumers[resource['name']]
                  resource['num_consumer'] = len(tasks)
                  resource['running'] = tasks
          return resources
docs: Resources usage info and their consumers (tasks).