code: func (q *BaseQueue) Push(payload []byte) (err error) {
  	cnx := q.pool.Get()
  	defer cnx.Close()
  
  	return q.Processor().Push(cnx, q.Source(), payload)
  }
docs: // Push pushes the given payload (a byte slice) into the specified keyspace by
  // delegating into the `Processor`'s `func Push`. It obtains a connection to
  // Redis using the pool, which is passed into the Processor, and recycles that
  // connection after the function has returned.
  //
  // If an error occurs during Pushing, it will be returned, and it can be assumed
  // that the payload is not in Redis.