From 362f95840ac9c397ed6b5ae2cff68396cfe37492 Mon Sep 17 00:00:00 2001
From: Mirco Nasuti <mirco.nasuti@chuv.ch>
Date: Tue, 10 Jan 2017 12:16:40 +0100
Subject: [PATCH] fix caching for mining API

---
 src/main/java/eu/hbp/mip/controllers/MiningApi.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/java/eu/hbp/mip/controllers/MiningApi.java b/src/main/java/eu/hbp/mip/controllers/MiningApi.java
index cab5f9b61..acafaf419 100644
--- a/src/main/java/eu/hbp/mip/controllers/MiningApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/MiningApi.java
@@ -42,7 +42,7 @@ public class MiningApi {
 
 
     @ApiOperation(value = "Run an algorithm", response = String.class)
-    @Cacheable(value = "mining", condition = "#query.getAlgorithm().getCode() == 'histograms'", key = "#query.toString()")
+    @Cacheable(value = "mining", condition = "#query.getAlgorithm().getCode() == 'histograms'", key = "#query.toString()", unless = "#result.getStatusCode().value()!=200")
     @RequestMapping(method = RequestMethod.POST)
     public ResponseEntity runAlgorithm(@RequestBody eu.hbp.mip.model.MiningQuery query) throws IOException {
         LOGGER.info("Run an algorithm");
@@ -50,7 +50,7 @@ public class MiningApi {
         LOGGER.info("Akka is trying to reach remote " + wokenRefPath);
         ActorSelection wokenActor = actorSystem.actorSelection(wokenRefPath);
 
-        Timeout timeout = new Timeout(Duration.create(10, "seconds"));
+        Timeout timeout = new Timeout(Duration.create(120, "seconds"));
         Future<Object> future = Patterns.ask(wokenActor, query.prepareQuery(), timeout);
         QueryResult result;
         try {
-- 
GitLab