From 933512bd12d74e5643afa551fc507b6a47cdd628 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Todor=20Kondi=C4=87?= <todor.kondic@uni.lu>
Date: Wed, 30 Sep 2020 14:43:57 +0200
Subject: [PATCH] api: Fix obtaining values from futures

* R/api.R(extr_data): tmp is now a list of future values, not futures.
---
 R/api.R | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/R/api.R b/R/api.R
index 78d483c..03346c6 100644
--- a/R/api.R
+++ b/R/api.R
@@ -278,7 +278,24 @@ extr_data <- function(m) {
         x
 
     })
-    m$extr$ms <- data.table::rbindlist(tmp)
+
+    msk <- sapply(tmp,future::resolved)
+    curr_done <- which(msk)
+    names(msk) <- files
+    
+    for (x in curr_done) {
+        message("Done extraction for ", names(msk)[[x]])
+    }
+    while (!all(msk)) {
+        msk <- sapply(tmp,future::resolved)
+        newly_done <- which(msk)
+        for (x in setdiff(newly_done,curr_done)) {
+            message("Done extraction for ", names(msk)[[x]])
+        }
+        Sys.sleep(0.5)
+        curr_done <- newly_done
+    }
+    m$extr$ms <- data.table::rbindlist(lapply(tmp,future::value))
     ## m$extr$ms2 <- data.table::rbindlist(lapply(m$extr$tmp, function (e) e$ms2))
 
     message('Saving extracted date to ', m$extr$fn)
-- 
GitLab