return code 499
when user cancels request while a model is loading (#3955)
This commit is contained in:
parent
7fea1ecdf6
commit
bb31def011
|
@ -442,7 +442,7 @@ func (s *llmServer) WaitUntilRunning(ctx context.Context) error {
|
||||||
select {
|
select {
|
||||||
case <-ctx.Done():
|
case <-ctx.Done():
|
||||||
slog.Info("context expired before server started")
|
slog.Info("context expired before server started")
|
||||||
return fmt.Errorf("timed out waiting for llama runner to start")
|
return fmt.Errorf("timed out waiting for llama runner to start: %w", ctx.Err())
|
||||||
case err := <-s.done:
|
case err := <-s.done:
|
||||||
msg := ""
|
msg := ""
|
||||||
if s.status != nil && s.status.LastErrMsg != "" {
|
if s.status != nil && s.status.LastErrMsg != "" {
|
||||||
|
|
|
@ -146,6 +146,11 @@ func (s *Server) GenerateHandler(c *gin.Context) {
|
||||||
select {
|
select {
|
||||||
case runner = <-rCh:
|
case runner = <-rCh:
|
||||||
case err = <-eCh:
|
case err = <-eCh:
|
||||||
|
if errors.Is(err, context.Canceled) {
|
||||||
|
c.JSON(499, gin.H{"error": "request canceled"})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -389,6 +394,11 @@ func (s *Server) EmbeddingsHandler(c *gin.Context) {
|
||||||
select {
|
select {
|
||||||
case runner = <-rCh:
|
case runner = <-rCh:
|
||||||
case err = <-eCh:
|
case err = <-eCh:
|
||||||
|
if errors.Is(err, context.Canceled) {
|
||||||
|
c.JSON(499, gin.H{"error": "request canceled"})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -1216,6 +1226,11 @@ func (s *Server) ChatHandler(c *gin.Context) {
|
||||||
select {
|
select {
|
||||||
case runner = <-rCh:
|
case runner = <-rCh:
|
||||||
case err = <-eCh:
|
case err = <-eCh:
|
||||||
|
if errors.Is(err, context.Canceled) {
|
||||||
|
c.JSON(499, gin.H{"error": "request canceled"})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue