Tools for Message Passing Between Processes

Provides tools for passing messages between R processes. Shiny Examples are provided showing how to perform useful tasks such as: updating reactive values from within a future, progress bars for long running async tasks, and interrupting async tasks based on user input.


Asynchronous processing is critical for performing a wide array of tasks, from high performance computing to web services. Communication between these disparate asynchronous processes is often required. Currently the statistical computing language R provides no built in features to handle interprocess communication between R processes while they are performing computations. Several packages have been written to handle the passing of text or binary data between processes (e.g. txtq, liteq, and zmq). ipc allows you to easily pass R objects between processes along with an associated signal, and have handler functions automatically execute them in the receiving process.

There is particular focus on supporting asynchronous evaluation in Shiny applications. Examples are provided showing how to perform useful tasks such as:

  • Updating reactive values from within future
  • Progress bars for long running async tasks
  • Interrupting async tasks based on user input.

Installation

To install the latest version from CRAN run:

install.packages("ipc")

To install the latest development version from the github repo run:

# If devtools is not installed:
# install.packages("devtools")

devtools::install_github("fellstat/ipc")

Resources

To run an example application locally use:

library(ipc)
shinyExample()

Development

Development Practices and Policies for Contributers

News

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("ipc")

0.1.2 by Ian E. Fellows, a month ago


https://github.com/fellstat/ipc


Report a bug at https://github.com/fellstat/ipc/issues


Browse source code at https://github.com/cran/ipc


Authors: Ian E. Fellows


Documentation:   PDF Manual  


MIT + file LICENCE license


Imports R6, shiny, txtq

Suggests testthat, knitr, rmarkdown, future, promises, redux


Imported by shinyrecap.


See at CRAN