def checks_channels(self):
        """Check for timeout for each channels"""
        self.logger.debug("checks_channels ready !")
        while True:
            time.sleep(config.FB_FALLBACK_CHECK)

            self.logger.debug("Checking for timeouts...")

            with self.channels_lock:
                for c in self.channels:
                    if c not in self.channels_last_message or (self.channels_last_message[c] + config.FB_FALLBACK_TIME < time.time()):
                        self.logger.info("Timeout on %s !" % (c,))

                        # Get info and send emssage
                        details = radioDns.get_channel_default(self.id_by_channel[c])

                        if not details:
                            self.logger.info("No information available for %s, leaving the channel alone..." % (c,))
                        else:
                            text = details['radiotext']
                            link = details['radiolink']
                            image = config.FB_IMAGE_LOCATIONS + details['filename']

                            self.logger.info("Sending image %s with link %s and text %s on channel %s" % (image, link, text, c))

                            timestamp = str(int(time.time() * 1000))

                            headers = {'trigger-time': 'NOW', 'link': link, 'message-id': str(uuid.uuid4().int), 'topic': c + 'text', 'expires': '0', 'priority': '0', 'timestamp': timestamp}
                            self.rabbitmq.send_message(headers, "TEXT " + text)

                            headers = {'trigger-time': 'NOW', 'link': link, 'message-id': str(uuid.uuid4().int), 'topic': c + 'image', 'expires': '0', 'priority': '0', 'timestamp': timestamp}
                            self.rabbitmq.send_message(headers, "SHOW " + image)

# The logger
dataset/ETHPy150Open ebu/radiodns-plugit/RadioVisServer/fallback.py/Fallback.checks_channels/original