Skip to content

Commit 33bdb05

Browse files
committed
fix: prevent destory when replicating or save
1 parent 15fa947 commit 33bdb05

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/ml/libs/agent.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ class Agent {
3535
predictMemory: PredictMemory = {};
3636
bestActionMemory: [Action, string][] = [];
3737
inputSize: number = 59;
38+
isReplicating: boolean = false;
39+
isSaving: boolean = false;
3840

3941
// For spinner purpose
4042
spinner: Spinner;
@@ -165,16 +167,22 @@ class Agent {
165167
* Save model to model's directory
166168
*/
167169
async saveModel(model: LayersModel) {
170+
this.isSaving = true;
168171
const modelfolder = <string>this.dataPaths("models", model.name);
169172
mkdirp.sync(modelfolder);
170173
await model.save(`file://${modelfolder}`);
171174
this.loading(`Model ${model.name} saved!`);
175+
this.isSaving = false;
172176
}
173177

174178
/**
175179
* Remove models from list
176180
*/
177181
async destroyModel(model: LayersModel) {
182+
if (this.isReplicating || this.isSaving) {
183+
return;
184+
}
185+
178186
const modelIndex = this.models.findIndex(
179187
(item) => item.name === model.name
180188
);
@@ -281,6 +289,7 @@ class Agent {
281289
* and the quota of modelsNumber was being removed
282290
*/
283291
async replicate() {
292+
this.isReplicating = true;
284293
let count = 0;
285294

286295
for (let i = 0; i < this.modelsNumber; i++) {
@@ -297,6 +306,7 @@ class Agent {
297306
}
298307

299308
this.loading(`Replicating models`)?.succeed();
309+
this.isReplicating = false;
300310
}
301311

302312
/**

0 commit comments

Comments
 (0)