github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/api/workerserver/land.go (about)

     1  package workerserver
     2  
     3  import "net/http"
     4  
     5  func (s *Server) LandWorker(w http.ResponseWriter, r *http.Request) {
     6  	logger := s.logger.Session("landing-worker")
     7  	workerName := r.FormValue(":worker_name")
     8  
     9  	worker, found, err := s.dbWorkerFactory.GetWorker(workerName)
    10  	if err != nil {
    11  		logger.Error("failed-finding-worker-to-land", err)
    12  		w.WriteHeader(http.StatusInternalServerError)
    13  		return
    14  	}
    15  
    16  	if !found {
    17  		logger.Error("failed-to-find-worker", err)
    18  		w.WriteHeader(http.StatusNotFound)
    19  		return
    20  	}
    21  
    22  	err = worker.Land()
    23  	if err != nil {
    24  		logger.Error("failed-to-land-worker", err)
    25  		w.WriteHeader(http.StatusInternalServerError)
    26  		return
    27  	}
    28  
    29  	w.WriteHeader(http.StatusOK)
    30  }