From 0764866287f41b3aebd28c5b6f44fb4b644a5193 Mon Sep 17 00:00:00 2001 From: zhaoli <448536635@qq.com> Date: Tue, 6 Jan 2026 14:02:55 +0800 Subject: [PATCH] [fix][dingoscheduler] Fix the caching task stop --- internal/service/cache_job_service.go | 5 ++- internal/service/repository_service.go | 2 +- pkg/util/http_util.go | 55 +------------------------- 3 files changed, 6 insertions(+), 56 deletions(-) diff --git a/internal/service/cache_job_service.go b/internal/service/cache_job_service.go index 9d43963..20f51f7 100644 --- a/internal/service/cache_job_service.go +++ b/internal/service/cache_job_service.go @@ -177,7 +177,10 @@ func (c *CacheJobService) StopCacheJob(jobStatusReq *query.JobStatusReq) error { } _, err = util.PostForDomain(speedDomain, "/api/cacheJob/stop", "application/json", b, c.hfTokenDao.GetHeaders()) if err != nil { - return err + err = c.cacheJobDao.UpdateCacheStatus(&query.UpdateJobStatusReq{Id: jobStatusReq.Id, Status: consts.RunningStatusJobStop}) + if err != nil { + return err + } } return nil } diff --git a/internal/service/repository_service.go b/internal/service/repository_service.go index c3c4257..7de8dec 100644 --- a/internal/service/repository_service.go +++ b/internal/service/repository_service.go @@ -265,7 +265,7 @@ func (s *RepositoryService) MountRepository(repoReq *query.RepositoryReq) error authHeaders = s.hfTokenDao.GetHeaders() } - _, err = util.PostForDomain(speedDomain, "/api/cacheJob/create", "application/json", b, s.hfTokenDao.GetHeaders()) + _, err = util.PostForDomain(speedDomain, "/api/cacheJob/create", "application/json", b, authHeaders) if err != nil { return err } diff --git a/pkg/util/http_util.go b/pkg/util/http_util.go index 71d7efa..a210836 100644 --- a/pkg/util/http_util.go +++ b/pkg/util/http_util.go @@ -21,20 +21,18 @@ import ( "net" "net/http" "net/url" - "strings" "sync" "time" "dingoscheduler/pkg/common" "dingoscheduler/pkg/config" - "dingoscheduler/pkg/consts" "github.com/avast/retry-go" "go.uber.org/zap" ) var ( - reqTimeout = 0 * time.Second + reqTimeout = 10 * time.Second simpleClient *http.Client proxyClient *http.Client simpleOnce sync.Once @@ -171,44 +169,6 @@ func doGet(client *http.Client, targetURL string, headers map[string]string) (*c }, nil } -func GetStream(domain, uri string, headers map[string]string, f func(r *http.Response) error) error { - var ( - client *http.Client - err error - ) - if IsInnerDomain(domain) { - client, err = NewHTTPClient() - } else { - domain, client, err = constructClient() - } - if err != nil { - return fmt.Errorf("construct http client err: %v", err) - } - requestURL := fmt.Sprintf("%s%s", domain, uri) - return doGetStream(client, requestURL, headers, f) -} - -func doGetStream(client *http.Client, targetURL string, headers map[string]string, f func(r *http.Response) error) error { - escapedURL := strings.ReplaceAll(targetURL, "#", "%23") - req, err := http.NewRequest("GET", escapedURL, nil) - if err != nil { - return fmt.Errorf("创建GET请求失败: %v", err) - } - for key, value := range headers { - req.Header.Set(key, value) - } - resp, err := client.Do(req) - if err != nil { - return err - } - defer resp.Body.Close() - respHeaders := make(map[string]interface{}) - for key, value := range resp.Header { - respHeaders[key] = value - } - return f(resp) -} - func PostForDomain(domain, requestUri string, contentType string, data []byte, headers map[string]string) (*common.Response, error) { client, err := NewHTTPClient() if err != nil { @@ -218,15 +178,6 @@ func PostForDomain(domain, requestUri string, contentType string, data []byte, h return doPost(client, requestURL, contentType, data, headers) } -func Post(requestUri string, contentType string, data []byte, headers map[string]string) (*common.Response, error) { - domain, client, err := constructClient() - if err != nil { - return nil, fmt.Errorf("construct http client err: %v", err) - } - requestURL := fmt.Sprintf("%s%s", domain, requestUri) - return doPost(client, requestURL, contentType, data, headers) -} - func doPost(client *http.Client, targetURL string, contentType string, data []byte, headers map[string]string) (*common.Response, error) { req, err := http.NewRequest("POST", targetURL, bytes.NewBuffer(data)) if err != nil { @@ -267,7 +218,3 @@ func doPost(client *http.Client, targetURL string, contentType string, data []by Body: body, }, nil } - -func IsInnerDomain(url string) bool { - return !strings.Contains(url, consts.Huggingface) && !strings.Contains(url, consts.Hfmirror) -}