From 33bdb05c4ba1d7a7f08871da899a1bfe40fcf59f Mon Sep 17 00:00:00 2001 From: Ribhararnus Pracutian Date: Sun, 13 Dec 2020 21:26:34 +0700 Subject: [PATCH] fix: prevent destory when replicating or save --- src/ml/libs/agent.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ml/libs/agent.ts b/src/ml/libs/agent.ts index 0ea7a78..6257b8b 100644 --- a/src/ml/libs/agent.ts +++ b/src/ml/libs/agent.ts @@ -35,6 +35,8 @@ class Agent { predictMemory: PredictMemory = {}; bestActionMemory: [Action, string][] = []; inputSize: number = 59; + isReplicating: boolean = false; + isSaving: boolean = false; // For spinner purpose spinner: Spinner; @@ -165,16 +167,22 @@ class Agent { * Save model to model's directory */ async saveModel(model: LayersModel) { + this.isSaving = true; const modelfolder = this.dataPaths("models", model.name); mkdirp.sync(modelfolder); await model.save(`file://${modelfolder}`); this.loading(`Model ${model.name} saved!`); + this.isSaving = false; } /** * Remove models from list */ async destroyModel(model: LayersModel) { + if (this.isReplicating || this.isSaving) { + return; + } + const modelIndex = this.models.findIndex( (item) => item.name === model.name ); @@ -281,6 +289,7 @@ class Agent { * and the quota of modelsNumber was being removed */ async replicate() { + this.isReplicating = true; let count = 0; for (let i = 0; i < this.modelsNumber; i++) { @@ -297,6 +306,7 @@ class Agent { } this.loading(`Replicating models`)?.succeed(); + this.isReplicating = false; } /**