RProcess: RProcess

Description Usage Arguments Details Value See Also

View source: R/RProcess.R

Description

This module starts and then observes a custom R script as a background process. The app stays responsive while the R script is running. It is a convenience function which combines RProcessStart and RProcessFinish

Usage

1
2
3
RProcess(input, output, session, trigger, object, script, logFile = NULL,
  sessionid = NULL, pwd = getwd(), checkFun = NULL, addArgs = NULL,
  millis = 1000)

Arguments

input

argument used by shiny session

output

argument used by shiny session

session

argument used by shiny session

trigger

reactive which starts the process (e.g. action button input)

object

reactive object that will be handed over to R batch script as input

script

chr path to R batch script (name of file included)

logFile

chr or NULL (NULL) path of logging file (name included). Will be created if it doesnt exist.

sessionid

chr or NULL (NULL) id for the session. Log entries will be prefixed with it.

pwd

chr (getwd()) path of R batch process working directory. That's where intermediate files will be written as well.

checkFun

chr or NULL (NULL) if not NULL name of a function which can be used as a quality check for object right before it is handed ober to the R batch script

addArgs

list or NULL (NULL) if not NULL list of additional arguments which will be passed to checkFun

millis

int (1000) of the time interval in milli seconds in which to read the *.status file for possible changes

Details

The communication between the shiny session and the R script is done via a *.status file. Input and output are handed over via a *.rds file. The working directory of the process can be defined with pwd. This is where the files are read and written as well.

There is the option to let the R script write a log. The desired log file can be given with logFile. If several users use the app it might be useful to include a unique id with sessionid. Every log entry will be appended with it.

With checkFun a function name can be defined which will be used as quality control for object. This function is run before the R batch script is started. First argument of this function is the object. The function must either return NULL or a chr value. NULL means the input is valid. Thereby the module will start the R script. If the input should not be valid, the function must return a character value. This chr will be rendered as a error message for the user, and the modul will not start the R script. Additional arguments to this checkFun can be handed over with addArgs.

To ensure that the communication between the shiny session and the R script is working properly, use Rscript_Init to start the script and Rscript_Fin to finish it. These functions belong to the Rscript communication function which should be used in the R script for communication with the shiny session. For examples see the vignette on RProcess Module Functions (vignette("RProcess_functions", package = "shinyTools")).

Value

list with elements 4 elements

See Also

Seome examples on how to use RProcess module functions are given in the vignette RProcess Module Functions (vignette("RProcess_functions", package = "shinyTools"))

In the R script communications functions such as Rscript_Init and Rscript_Fin should be used to ensure correct communication between the R script and the shiny session.

Other RProcess module functions: RProcessFinishUI, RProcessFinish, RProcessStartUI, RProcessStart, RProcessUI


mRcSchwering/shinyTools documentation built on May 21, 2019, 10:14 a.m.