3

I have a simple setup as follows:

Sys.info()
                 sysname                      release                      version                     nodename 
               "Windows"                      "7 x64" "build 7601, Service Pack 1"                "OCTAVE-WS21" 
                 machine                        login                         user               effective_user 
                "x86-64"                      "kjain"                      "kjain"                      "kjain" 

I am trying to use doRedis package in R to set up a cluster. I have "2.8.2101" version of Redis installed on my machine. To begin with, I tried to run a job on my local machine (in RStudio):

library(doRedis)
registerDoRedis('jobs')
getDoParName()
#[1] "doRedis"
getDoParRegistered()
#[1] TRUE
startLocalWorkers(n = 2,queue = 'jobs')
getDoParWorkers()
#[1] 2

I have checked that Redis is running as a service (redis-cli ping returns 'PONG')

But, when I try to run a simple foreach loop I get the following error; I get the same error even if I restart everything:

workerIndex = foreach(i=1:100) %dopar% {i}

Error in sprintf("%s:%.0f.env", queue, ID) : invalid format '%.0f'; use format %s for character objects

Obviously, the sequential version works fine:

workerIndex = foreach(i=1:100) %do% {i}
workerIndex
#[[1]]
#[1] 1

#[[2]]
#[1] 2
etc.

Please help! Any comments/pointers are appreciated. Please let me know if you need more information.

akrun
  • 874,273
  • 37
  • 540
  • 662

1 Answers1

5

I just encountered the same error as you, however on Ubuntu. The solution I found was on this website: https://github.com/bwlewis/doRedis/issues/23

In short run this in R: options('redis:num'=TRUE)

If you are curious what the source of the error is feel free to click the link and read about it :)

Regards, Gideon

G.Pomeranz
  • 51
  • 3