code: def _listen_comments(self):
          
          # Collect comments in a queue
          comments_queue = Queue(maxsize=self._n_jobs * 4)
  
          threads = []  # type: List[BotQueueWorker]
  
          try:
  
              # Create n_jobs CommentsThreads
              for i in range(self._n_jobs):
                  t = BotQueueWorker(name='CommentThread-t-{}'.format(i),
                                     jobs=comments_queue,
                                     target=self._process_comment)
                  t.start()
                  threads.append(t)
  
              # Iterate over all comments in the comment stream
              for comment in self._reddit.subreddit('+'.join(self._subs)).stream.comments():
  
                  # Check for stopping
                  if self._stop:
                      self._do_stop(comments_queue, threads)
                      break
  
                  comments_queue.put(comment)
  
              self.log.debug('Listen comments stopped')
          except Exception as e:
              self._do_stop(comments_queue, threads)
              self.log.error('Exception while listening to comments:')
              self.log.error(str(e))
              self.log.error('Waiting for 10 minutes and trying again.')
              time.sleep(10 * 60)
  
              # Retry
              self._listen_comments()
docs: Start listening to comments, using a separate thread.