code: func (queue *Queue) AddConsumer(name string) (c *Consumer, err error) {
  	c = &Consumer{Name: name, Queue: queue}
  	//check uniqueness and start heartbeat
  	added, err := queue.redisClient.SAdd(queueWorkersKey(queue.Name), name).Result()
  	if err != nil {
  		return nil, err
  	}
  	if added == 0 {
  		if queue.isActiveConsumer(name) {
  			return nil, fmt.Errorf("consumer with this name is already active")
  		}
  	}
  	c.startHeartbeat()
  	return c, nil
  }
docs: // AddConsumer returns a conumser that can write from the queue