| | |
| | | Handler: r, |
| | | } |
| | | |
| | | srv.SetKeepAlivesEnabled(config.ServeConf.Keepalive) |
| | | |
| | | // Initializing the server in a goroutine so that |
| | | // it won't block the graceful shutdown handling below |
| | | go func() { |
| | | if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed { |
| | | logger.Error("listen: %s", err) |
| | | } |
| | | }() |
| | | |
| | | logger.Info("Server is running at %s:%s", host, port) |
| | | |
| | | // 启动1400客户端 |
| | | ctx, cancel := context.WithCancel(context.Background()) |
| | | go client.Init1400Client(ctx) |
| | |
| | | |
| | | // 启动定时任务 |
| | | cron.Init() |
| | | |
| | | // Initializing the server in a goroutine so that |
| | | // it won't block the graceful shutdown handling below |
| | | go func() { |
| | | if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed { |
| | | logger.Error("listen: %s", err) |
| | | } |
| | | }() |
| | | |
| | | logger.Info("Server is running at %s:%s", host, port) |
| | | |
| | | // Wait for interrupt signal to gracefully shutdown the server with |
| | | // a timeout of 5 seconds. |
| | |
| | | // The context is used to inform the server it has 5 seconds to finish |
| | | // the request it is currently handling |
| | | //ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) |
| | | defer cancel() |
| | | cancel() |
| | | if err := srv.Shutdown(ctx); err != nil { |
| | | logger.Error("Server forced to shutdown:", err) |
| | | } |