MCPcopy Create free account
hub / github.com/OpenListTeam/OpenList / Shutdown

Function Shutdown

internal/bootstrap/run.go:274–358  ·  view source on GitHub ↗
(timeout time.Duration)

Source from the content-addressed store, hash-verified

272}
273
274func Shutdown(timeout time.Duration) {
275 utils.Log.Println("Shutdown server...")
276 fs.ArchiveContentUploadTaskManager.RemoveAll()
277 ctx, cancel := context.WithTimeout(context.Background(), timeout)
278 defer cancel()
279 var wg sync.WaitGroup
280 if httpSrv != nil && conf.Conf.Scheme.HttpPort != -1 {
281 wg.Add(1)
282 go func() {
283 defer wg.Done()
284 if err := httpSrv.Shutdown(ctx); err != nil {
285 utils.Log.Error("HTTP server shutdown err: ", err)
286 }
287 httpSrv = nil
288 }()
289 }
290 if httpsSrv != nil && conf.Conf.Scheme.HttpsPort != -1 {
291 wg.Add(1)
292 go func() {
293 defer wg.Done()
294 if err := httpsSrv.Shutdown(ctx); err != nil {
295 utils.Log.Error("HTTPS server shutdown err: ", err)
296 }
297 httpsSrv = nil
298 }()
299 if quicSrv != nil && conf.Conf.Scheme.EnableH3 {
300 wg.Add(1)
301 go func() {
302 defer wg.Done()
303 if err := quicSrv.Shutdown(ctx); err != nil {
304 utils.Log.Error("HTTP3 (quic) server shutdown err: ", err)
305 }
306 quicSrv = nil
307 }()
308 }
309 }
310 if unixSrv != nil && conf.Conf.Scheme.UnixFile != "" {
311 wg.Add(1)
312 go func() {
313 defer wg.Done()
314 if err := unixSrv.Shutdown(ctx); err != nil {
315 utils.Log.Error("Unix server shutdown err: ", err)
316 }
317 unixSrv = nil
318 }()
319 }
320 if s3Srv != nil && conf.Conf.S3.Port != -1 && conf.Conf.S3.Enable {
321 wg.Add(1)
322 go func() {
323 defer wg.Done()
324 if err := s3Srv.Shutdown(ctx); err != nil {
325 utils.Log.Error("S3 server shutdown err: ", err)
326 }
327 s3Srv = nil
328 }()
329 }
330 if conf.Conf.FTP.Listen != "" && conf.Conf.FTP.Enable && ftpServer != nil {
331 wg.Add(1)

Callers 1

server.goFile · 0.92

Calls 8

RemoveAllMethod · 0.65
AddMethod · 0.65
ShutdownMethod · 0.65
CloseMethod · 0.65
WaitMethod · 0.65
DoneMethod · 0.45
ErrorMethod · 0.45
StopMethod · 0.45

Tested by

no test coverage detected