code: func (e *Enqueuer) Enqueue(jobName string, args map[string]interface{}) (*Job, error) {
  	job := &Job{
  		Name:       jobName,
  		ID:         makeIdentifier(),
  		EnqueuedAt: nowEpochSeconds(),
  		Args:       args,
  	}
  
  	rawJSON, err := job.serialize()
  	if err != nil {
  		return nil, err
  	}
  
  	conn := e.Pool.Get()
  	defer conn.Close()
  
  	if _, err := conn.Do("LPUSH", e.queuePrefix+jobName, rawJSON); err != nil {
  		return nil, err
  	}
  
  	if err := e.addToKnownJobs(conn, jobName); err != nil {
  		return job, err
  	}
  
  	return job, nil
  }
docs: // Enqueue will enqueue the specified job name and arguments. The args param can be nil if no args ar needed.
  // Example: e.Enqueue("send_email", work.Q{"addr": "test@example.com"})