def start(self, block=True):
        """Start discovering and listing to connections."""
        if self.state != INIT:
            self.logger.warn(self.name % '%s all ready started')
            if block:
                self.join()
            return

        if not any(self.on_message.receivers_for(blinker.ANY)):
            raise RuntimeError('no receivers connected to on_message')

        self.logger.debug('starting %s...' % self.name)
        self.state = RUNNING
        self.query_nsqd()

        if self.lookupds:
            self.query_lookupd()
            self.workers.append(gevent.spawn(self._poll_lookupd))

        self.workers.append(gevent.spawn(self._poll_ready))

        for _ in range(self.max_concurrency):
            self.workers.append(gevent.spawn(self._run))

        if block:
            self.join()
dataset/ETHPy150Open wtolson/gnsq/gnsq/reader.py/Reader.start/swapped operands of `%`