MCPcopy
hub / github.com/dragonflyoss/dragonfly / Stop

Method Stop

scheduler/scheduler.go:327–380  ·  view source on GitHub ↗

Stop stops the scheduler server.

()

Source from the content-addressed store, hash-verified

325
326// Stop stops the scheduler server.
327func (s *Server) Stop() {
328 // Stop dynconfig.
329 if err := s.dynconfig.Stop(); err != nil {
330 logger.Errorf("stop dynconfig failed %s", err.Error())
331 } else {
332 logger.Info("stop dynconfig closed")
333 }
334
335 // Stop resource.
336 s.resource.Stop()
337 logger.Info("stop resource closed")
338
339 // Stop GC.
340 s.gc.Stop()
341 logger.Info("gc closed")
342
343 // Stop metrics server.
344 if s.metricsServer != nil {
345 if err := s.metricsServer.Shutdown(context.Background()); err != nil {
346 logger.Errorf("metrics server failed to stop: %s", err.Error())
347 } else {
348 logger.Info("metrics server closed under request")
349 }
350 }
351
352 // Stop announcer.
353 s.announcer.Stop()
354 logger.Info("stop announcer closed")
355
356 // Stop manager client.
357 if s.managerClient != nil {
358 if err := s.managerClient.Close(); err != nil {
359 logger.Errorf("manager client failed to stop: %s", err.Error())
360 } else {
361 logger.Info("manager client closed")
362 }
363 }
364
365 // Stop GRPC server.
366 stopped := make(chan struct{})
367 go func() {
368 s.grpcServer.GracefulStop()
369 logger.Info("grpc server closed under request")
370 close(stopped)
371 }()
372
373 t := time.NewTimer(gracefulStopTimeout)
374 select {
375 case <-t.C:
376 s.grpcServer.Stop()
377 case <-stopped:
378 t.Stop()
379 }
380}

Callers

nothing calls this directly

Calls 5

InfoMethod · 0.80
StopMethod · 0.65
ErrorfMethod · 0.65
CloseMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected