Interface to the 'ZeroMQ' lightweight messaging kernel (see < http://www.zeromq.org/> for more information).
rzmq is an R binding for ZMQ.
rzmq is a message queue for serialized R objects.
Binary packages for OS-X or Windows can be installed directly from CRAN:
install.packages("rzmq")Installation from source requires ZeroMQ. On Debian or Ubuntu use libzmq3-dev:
sudo apt-get install -y libzmq3-dev
On Fedora we need zeromq-devel:
sudo yum install zeromq-devel
On CentOS / RHEL we install zeromq3-devel via EPEL:
sudo yum install epel-release
sudo yum install zeromq3-devel
On OS-X use zeromq from Homebrew:
brew install zeromq
A minimal example of remote execution.
execute this R script on the remote server:
#!/usr/bin/env Rscriptlibrary(rzmq)context = init.context()socket = init.socket(context,"ZMQ_REP")bind.socket(socket,"tcp://*:5555")while(1) { msg = receive.socket(socket); fun <- msg$fun args <- msg$args print(args) ans <- do.call(fun,args) send.socket(socket,ans);}and execute this bit locally:
library(rzmq) remote.exec <- function(socket,fun,...) { send.socket(socket,data=list(fun=fun,args=list(...))) receive.socket(socket)} substitute(expr)context = init.context()socket = init.socket(context,"ZMQ_REQ")connect.socket(socket,"tcp://localhost:5555") ans <- remote.exec(socket,sqrt,10000)0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1