def get_scheduler_ordered_list(self, realm):
        scheduler_links = []
        for scheduler_link_uuid in realm.schedulers:
            scheduler_links.append(self.schedulers[scheduler_link_uuid])
        alive = []
        spare = []
        deads = []
        for sdata in scheduler_links:
            if sdata.alive and not sdata.spare:
                alive.append(sdata)
            elif sdata.alive and sdata.spare:
                spare.append(sdata)
            else:
                deads.append(sdata)
        scheduler_links = []
        scheduler_links.extend(alive)
        scheduler_links.extend(spare)
        scheduler_links.extend(deads)
        scheduler_links.reverse()
        return scheduler_links