axe/queue.go
func (q *Queue) Enqueue(name string, data Model, delay time.Duration) (*Job, error) {
	// copy store
	store := q.store.Copy()
	defer store.Close()

	// enqueue job
	job, err := Enqueue(store, name, data, delay)
	if err != nil {
		return nil, err
	}

	return job, nil
}
func (q *Queue) Enqueue(name string, data Model, delay time.Duration) (*Job, error) {
	// copy store
	store := q.store.Copy()
	defer store.Close()

	// enqueue job
	job, err := Enqueue(store, name, data, delay)
	if err != nil {
		return nil, err
	}

	return job, nil
}
// Enqueue will enqueue a job using the specified name and data. If a delay
// is specified the job will not dequeued until the specified time has passed.