def start_consuming(self):
        # Check if called from the scope of an event dispatch callback
        with self.connection._acquire_event_dispatch() as dispatch_allowed:
            if not dispatch_allowed:
                raise exceptions.RecursionError(
                    'start_consuming may not be called from the scope of '
                    'another BlockingConnection or BlockingChannel callback')

        # Process events as long as consumers exist on this channel
        while self._consumer_infos:
            self.connection.process_data_events(time_limit=None)
Processes I/O events and dispatches timers and `basic_consume`
dataset/ETHPy150Open pika/pika/pika/adapters/blocking_connection.py/BlockingChannel.start_consuming