code: def stream(self, callback=None):
          
          if callback is None:
              callback = Response.__default
  
          if not callable(callback):
              raise Exception('callback must be callable')
  
          queue = 'stream:%s' % self.id
          r = self._client._redis
  
          # we can terminate quickly by checking if the process is not running and it has no queued output.
          # if not self.running and r.llen(queue) == 0:
          #     return
  
          while True:
              data = r.blpop(queue, 10)
              if data is None:
                  if not self.running:
                      break
                  continue
              _, body = data
              payload = json.loads(body.decode())
              message = payload['message']
              line = message['message']
              meta = message['meta']
              callback(meta >> 16, line, meta & 0xff)
  
              if meta & 0x6 != 0:
                  break
docs: Runtime copy of job messages. This required the 'stream` flag to be set to True otherwise it will
          not be able to copy any output, while it will block until the process exits.
  
          :note: This function will block until it reaches end of stream or the process is no longer running.
  
          :param callback: callback method that will get called for each received message
                           callback accepts 3 arguments
                           - level int: the log message levels, refer to the docs for available levels
                                        and their meanings
                           - message str: the actual output message
                           - flags int: flags associated with this message
                                        - 0x2 means EOF with success exit status
                                        - 0x4 means EOF with error
  
                                        for example (eof = flag & 0x6) eof will be true for last message u will ever
                                        receive on this callback.
  
                           Note: if callback is none, a default callback will be used that prints output on stdout/stderr
                           based on level.
          :return: None