@@ -31,6 +31,7 @@ type ServerHandler struct {
3131 preloadModelStatus PreloadModelStatus
3232
3333 upstreamBaseURL * url.URL
34+ lastSuccessfulPingTime time.Time
3435 userModelMetricsWebhookUrl string
3536 userModelMetricsWebhookApiKey string
3637}
@@ -99,15 +100,19 @@ func (s *ServerHandler) ServeHttpPing(w http.ResponseWriter, r *http.Request) {
99100 if s .isUpstreamRunning () {
100101 switch s .preloadModelStatus {
101102 case Unknown :
102- logger .Info ("Upstream available, preloading unknown" )
103+ logger .Warn ("Upstream available, preloading unknown" )
103104 w .WriteHeader (http .StatusNoContent )
104105 w .Write ([]byte ("{\" status\" : \" Model preload not started yet\" }" ))
105106 case InProgress :
106107 logger .Info ("Upstream is available, preloading in progress" )
107108 w .WriteHeader (http .StatusNoContent )
108109 w .Write ([]byte ("{\" status\" : \" Model preload in progress\" }" ))
109110 case Preloaded :
110- logger .Info ("Upstream is available, preloading done" )
111+ logFunc := logger .Debug
112+ if time .Since (s .lastSuccessfulPingTime ) > 60 * time .Second {
113+ logFunc = logger .Info
114+ }
115+ logFunc ("Upstream is available, preloading done" )
111116 w .WriteHeader (http .StatusOK )
112117 w .Write ([]byte ("{\" status\" : \" Models preloaded\" }" ))
113118 }
@@ -170,7 +175,10 @@ func (s *ServerHandler) isUpstreamRunning() bool {
170175 isSuccessStatus := resp .StatusCode / 100 == 2
171176 if ! isSuccessStatus {
172177 slog .Error ("Failed to ping upstream" , "status" , resp .StatusCode )
178+ } else {
179+ s .lastSuccessfulPingTime = time .Now ()
173180 }
181+
174182 return isSuccessStatus
175183}
176184
0 commit comments