diff --git a/pkg/image/models/images.go b/pkg/image/models/images.go index 11e7265188..0853d33fb2 100644 --- a/pkg/image/models/images.go +++ b/pkg/image/models/images.go @@ -195,6 +195,14 @@ func (manager *SImageManager) InitializeData() error { return nil } +func (manager *SImageManager) SetHandlerProcessTimeout(info *appsrv.SHandlerInfo, r *http.Request) time.Duration { + if r.Method == http.MethodPost && strings.HasSuffix(r.URL.Path, "/images") { + log.Debugf("upload image, set process timeout to 4 hour!!!") + return 4 * time.Hour + } + return manager.SSharableVirtualResourceBaseManager.SetHandlerProcessTimeout(info, r) +} + func (manager *SImageManager) GetPropertyDetail(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (jsonutils.JSONObject, error) { appParams := appsrv.AppContextGetParams(ctx) appParams.OverrideResponseBodyWrapper = true