func (w *worker) MakeAttempt(unit coordinate.WorkUnit, lifetime time.Duration) (coordinate.Attempt, error) { req := restdata.AttemptSpecific{ WorkSpec: unit.WorkSpec().Name(), WorkUnit: unit.Name(), Lifetime: lifetime, } var a attempt err := w.PostTo(w.Representation.MakeAttemptURL, map[string]interface{}{}, req, &a.Representation) if err != nil { return nil, err } a.URL, err = w.URL.Parse(a.Representation.URL) if err != nil { return nil, err } aUnit, _ := unit.(*workUnit) err = a.fillReferences(aUnit, w) if err != nil { return nil, err } return &a, nil }