Exemplo n.º 1
0
func handleHeartBeat(w http.ResponseWriter, r *http.Request) {
	token, err := ParseToken(r)
	if err != nil {
		WriteJsonErr(w, 401, err)
		return
	}

	matches := heartPat.FindStringSubmatch(r.URL.Path)
	if len(matches) != 2 {
		WriteJsonErr(w, 400, errors.New("Missing job id or failured id."))
		return
	}
	id := string(matches[1])
	if len(id) == 0 {
		WriteJsonErr(w, 400, errors.New("Job id not found."))
		return
	}

	job := store.Job{Id: id, QueueId: token}
	err = job.HeartBeat()
	if err != nil {
		WriteJsonErr(w, 500, errors.New("Unable to commit heartbeat."))
		return
	}
	WriteJson(w, 201, map[string]string{"message": "OK"})
}