2015-03-13 89 views
0

我想異步運行OpenCPU作業並從不同的會話中收集其結果。在Rserve + RSclient我可以做到以下幾點:OpenCPU中的異步調用

RS.eval(connection, expression, wait = FALSE) 
# do something while the job is running 

,然後當我準備好接受的結果調用其中:

RS.collect(connection) 

嘗試收集結果,並等待,直到他們準備好了,如果工作仍在運行或:

RS.collect(connection, timeout = 0) 

如果我想檢查作業狀態並讓它運行,如果它還沒有完成。

OpenCHP可以在作業完成之前接收tmp/*/...路徑,結果編號爲嗎?

+0

我想你想要做鏈接(ocpu請求內的ocpu請求)。 – 2016-08-25 16:19:46

回答

1

看來根據this post OpenCPU不支持異步作業。瀏覽器和OpenCPU服務器之間的每個請求都必須處於活動狀態才能執行腳本或函數併成功接收響應。 如果您發現任何解決方法,我很樂意知道它。 在我的情況下,我需要運行一個漫長的過程(可能需要幾個小時),並且我無法保持活動客戶端請求,直到過程結束。

+0

您是否找到解決方案?我看了一下https://github.com/joelkuiper/aplomb,不幸的是文檔沒有詳細說明,也無法弄清楚如何使用它。 – Prabhakar 2017-01-28 10:26:27