diff --git a/S905X_BI/S905X_BI b/S905X_BI/S905X_BI index a624931..edae894 100644 Binary files a/S905X_BI/S905X_BI and b/S905X_BI/S905X_BI differ diff --git a/S905X_BI/S905X_BI.go b/S905X_BI/S905X_BI.go index 6817d45..7ce86a5 100644 --- a/S905X_BI/S905X_BI.go +++ b/S905X_BI/S905X_BI.go @@ -462,12 +462,14 @@ func MqttMessageHandler(MqttBI mqtt.Client, message mqtt.Message) { } else if list["method"] == "update_model" { // {"method":"update_model","status": 1} file.Println("Update_model \n") fmt.Printf("%v--%T", list["id_box_engine"], list["id_box_engine"]) - UpdateModule((int)((list["id_box_engine"]).(float64))) - topic := strings.Replace(message.Topic(), "request", "response", 1) - msg := `{"method":"update_model","status": ` + strconv.Itoa(1) + `}` - file.Write_log("Message:"+msg+" \n", box.Path_log_luncher) - CmsResponse(MqttBI, topic, msg) - file.Println("UpdateModule done\n") + if SttUpdate == false { + UpdateModule((int)((list["id_box_engine"]).(float64))) + topic := strings.Replace(message.Topic(), "request", "response", 1) + msg := `{"method":"update_model","status": ` + strconv.Itoa(1) + `}` + file.Write_log("Message:"+msg+" \n", box.Path_log_luncher) + CmsResponse(MqttBI, topic, msg) + file.Println("UpdateModule done\n") + } } else if list["method"] == "inactive_box" { file.Println("Inactive Box\n") @@ -557,11 +559,13 @@ func MqttMessageHandler(MqttBI mqtt.Client, message mqtt.Message) { } func UpdateModule(id_engine int) { + file.Write_log("-------- START UPDATE MODULE ----------", box.Path_log_luncher) SttUpdate = true box.Stop_check_engine() box.Stop_Server_Engine() box.RequestUpdate_Module(box.Url_module, id_engine) SttUpdate = false + file.Write_log("---------------------------------------", box.Path_log_luncher) } func UpdateEngine() { SttUpdate = true diff --git a/box/box.go b/box/box.go index f2a217f..41569b9 100644 --- a/box/box.go +++ b/box/box.go @@ -1000,15 +1000,22 @@ func RequestUpdate_Module(url string, id_engine int) { file.Write_log("API get module :"+url, Path_log_luncher) file.Write_log("Path:"+path, Path_log_luncher) file.Write_log("Download Started", Path_log_luncher) - err := DownloadFile(path, url) - if err != nil { - // panic(err) - file.Write_log("Download Error", Path_log_luncher) - } else { - file.Write_log("Download Finished", Path_log_luncher) - file.Write_log("Save thanh cong modules", Path_log_luncher) - Res_Server(message.Data.Engines[i].Url, message.Data.Box_id, message.Data.Engines[i].Id) + var number_download = 0 + for { + number_download = number_download + 1 + err := DownloadFile(path, url) + if err != nil { + // panic(err) + file.Write_log("Download Error", Path_log_luncher) + } else { + file.Write_log("Download Finished", Path_log_luncher) + file.Write_log("Save thanh cong modules", Path_log_luncher) + Res_Server(message.Data.Engines[i].Url, message.Data.Box_id, message.Data.Engines[i].Id) + break + } } + file.Write_log("Number download module: "+strconv.Itoa(number_download), Path_log_luncher) + } }