func (worker *Worker) Pop() *common.Task { r, err := util.HttpPostJSON(worker.info.Server.AddrPop(), &common.Worker{worker.info.Server.Token, worker.project}) if err != nil { util.Error("failed to pop task, %s\n", err.Error()) return nil } resp := new(common.CommonResponse) err = util.HttpResponseUnmarshalJSON(resp, r, http.StatusOK) if err != nil { util.Error("failed to pop task, %s\n", err.Error()) return nil } else { if resp.Task != nil { util.Debug(resp.Task.PopLog()) } } return resp.Task }
func (worker *Worker) Push(task *common.Task) *common.Task { task.Token = worker.info.Server.Token task.Project = worker.project r, err := util.HttpPostJSON(worker.info.Server.AddrPush(), task) if err != nil { util.Error("failed to push task, %s\n", err.Error()) return nil } resp := new(common.CommonResponse) err = util.HttpResponseUnmarshalJSON(resp, r, http.StatusOK) if err != nil { util.Error("failed to push task, %s\n", err.Error()) return nil } else { if resp.Task != nil { util.Debug(resp.Task.PushLog()) } } return resp.Task }