Сообщение об ошибке не зависит от shiny
:
library(reticulate)
library(doParallel)
library(foreach)
library(parallel)
source_python("multip.py")
cl <- makeCluster(detectCores(), type = 'PSOCK')
registerDoParallel(cl)
# throws: Error in unserialize(socklist[[n]]) : error reading from connection
foreach(i = 1:5) %dopar% fsq(i)
stopCluster(cl)
Я интерпретирую это так, что нельзя сериализовать функцию Python, как можно сериализовать функцию R. Простой обходной путь - использовать source_python
в цикле:
library(doParallel)
library(foreach)
library(parallel)
cl <- makeCluster(detectCores(), type = 'PSOCK')
registerDoParallel(cl)
foreach(i = 1:5) %dopar% {
reticulate::source_python("multip.py")
fsq(i)
}
stopCluster(cl)