def do_loop_turn(self):
        if not self.first_scheduling:
            logger.info("First scheduling launched")
            _t0 = time.time()
            self.sched.initial_program_status()
            self.sched.schedule()
            statsmgr.timer('first_scheduling', time.time() - _t0)
            logger.info("First scheduling done")
            for satellite in [s for s in list(self.pollers.values()) if s.passive]:
                if not self.daemon_connection_init(satellite):
                    logger.error("Passive satellite connection failed: %s", satellite)
            for satellite in [s for s in list(self.reactionners.values()) if s.passive]:
                if not self.daemon_connection_init(satellite):
                    logger.error("Passive satellite connection failed: %s", satellite)
            self.sched.ticks = 0
            self.first_scheduling = True
        if self.sched.pushed_conf:
            if not self.sched.must_schedule:
                self.sched.start_scheduling()
                self.sched.before_run()
            self.sched.run()
        else:
            logger.warning("
                           self.loop_count)