From 7254237b8c8e04ee44df8323ffd5069fc860b907 Mon Sep 17 00:00:00 2001 From: Evgeny Smyshlyaev Date: Mon, 20 May 2019 12:17:36 +0300 Subject: [PATCH] Queue or drop learning task on new learning task #664 (#669) --- server/src/controllers/analytics_controller.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/src/controllers/analytics_controller.ts b/server/src/controllers/analytics_controller.ts index 7673f91..ca111bf 100644 --- a/server/src/controllers/analytics_controller.ts +++ b/server/src/controllers/analytics_controller.ts @@ -206,7 +206,8 @@ export async function runLearning(id: AnalyticUnit.AnalyticUnitId, from?: number let analyticUnit = await AnalyticUnit.findById(id); if(analyticUnit.status === AnalyticUnit.AnalyticUnitStatus.LEARNING) { - throw new Error('Can`t start learning when it`s already started [' + id + ']'); + console.log(`cancel already started learning for ${id}, run new learning`); + await cancelAnalyticsTask(id); } const oldSegments = await Segment.findMany(id, { labeled: false, deleted: false }); // TODO: segments and spans are coupled. So their removing should be a transaction