diff --git a/backend/webui_context/nrf_discovery.go b/backend/webui_context/nrf_discovery.go index 9efd256f787ba613b878ec267aa1c6c5505748cd..c7c47a7d30878ba37f662d1ab9cb574c3ded2d9f 100644 --- a/backend/webui_context/nrf_discovery.go +++ b/backend/webui_context/nrf_discovery.go @@ -31,8 +31,10 @@ func SendSearchNFInstances(targetNfType models.NfType) ([]models.NfProfile, erro logger.ConsumerLog.Errorf("SearchNFInstances failed: %+v", err) } defer func() { - if resCloseErr := res.Body.Close(); resCloseErr != nil { - logger.ConsumerLog.Errorf("NFInstancesStoreApi response body cannot close: %+v", resCloseErr) + if res != nil { + if resCloseErr := res.Body.Close(); resCloseErr != nil { + logger.ConsumerLog.Errorf("NFInstancesStoreApi response body cannot close: %+v", resCloseErr) + } } }() diff --git a/backend/webui_context/nrf_management.go b/backend/webui_context/nrf_management.go index f463a479b62d6669952dcabea8e74de4d1685359..c404d97e49fcd934bda9a96e4c8d675b3fc938de 100644 --- a/backend/webui_context/nrf_management.go +++ b/backend/webui_context/nrf_management.go @@ -26,6 +26,7 @@ func SendNFRegistration() error { var res *http.Response var err error + retryTime := 0 for { nf, res, err = GetSelf(). NFManagementClient. @@ -34,6 +35,10 @@ func SendNFRegistration() error { if err != nil || res == nil { logger.ConsumerLog.Infof("Webconsole-AF register to NRF Error[%s]", err.Error()) time.Sleep(2 * time.Second) + retryTime += 1 + if retryTime == 10 { + return fmt.Errorf("NF Register retry failed %+v times.", retryTime) + } continue } defer func() { @@ -80,7 +85,6 @@ func RetrySendNFRegistration(MaxRetry int) error { logger.ConsumerLog.Warnf("Send NFRegistration Failed by %v", err) retryCount++ } - logger.ConsumerLog.Errorln("[AF] Retry NF Registration has meet maximum") return fmt.Errorf("[AF] Retry NF Registration has meet maximum") } diff --git a/backend/webui_service/webui_init.go b/backend/webui_service/webui_init.go index 01a58bf35d2002b0b8d34ad8034c6e26452d5576..66aec95b062a27441c38d7b0ae604e793b047403 100644 --- a/backend/webui_service/webui_init.go +++ b/backend/webui_service/webui_init.go @@ -101,14 +101,16 @@ func (a *WebuiApp) Start(tlsKeyLogPath string) { os.Exit(0) }() - err := webui_context.SendNFRegistration() - if err != nil { - retry_err := webui_context.RetrySendNFRegistration(10) - if retry_err != nil { - logger.InitLog.Errorln(retry_err) - return + go func() { + err := webui_context.SendNFRegistration() + if err != nil { + retry_err := webui_context.RetrySendNFRegistration(1) + if retry_err != nil { + logger.InitLog.Errorln(retry_err) + logger.InitLog.Warningln("The registration to NRF failed, resulting in limited functionalities.") + } } - } + }() router := WebUI.NewRouter() WebUI.SetAdmin()