func (q *queue) Unsubscribe(subKeys []string, subID string) error {
	q.subsMtx.Lock()
	defer q.subsMtx.Unlock()

	var err error
	for _, v := range subKeys {
		if err2 := q.unsubscribe(v, subID); err == nil {
			err = err2
		}
	}

	return err
}
func (q *queue) Unsubscribe(subKeys []string, subID string) error {
	q.subsMtx.Lock()
	defer q.subsMtx.Unlock()

	var err error
	for _, v := range subKeys {
		if err2 := q.unsubscribe(v, subID); err == nil {
			err = err2
		}
	}

	return err
}
// Unsubscribe removes a subscription from job result notifications for given
// ids of related objects. SubID is used to distinguish between different
// subscriptions to a same related object.