Skip to content

launch_local() launches daemons on the local machine as background R processes that connect back to the host.

launch_remote returns the shell command for deploying daemons as a character vector. If an ssh_config(), cluster_config() or remote_config() configuration is supplied then this is used to launch the daemon on the remote machine.

Usage

launch_local(n = 1L, ..., .compute = NULL)

launch_remote(n = 1L, remote = remote_config(), ..., .compute = NULL)

Arguments

n

(integer) number of daemons to launch. For launch_remote(), may also be a 'miraiCluster' or 'miraiNode'.

...

(daemon arguments) passed to daemon(), including asyncdial, autoexit, cleanup, output, maxtasks, idletime, and walltime. Overrides arguments from daemons() if supplied.

.compute

(character) name of the compute profile. Each profile has its own independent set of daemons. NULL (default) uses the 'default' profile.

remote

(configuration) for launching daemons, generated by ssh_config(), cluster_config(), or remote_config(). An empty remote_config() returns shell commands for manual deployment without launching.

Value

For launch_local: Integer number of daemons launched.

For launch_remote: A character vector of daemon launch commands, classed as 'miraiLaunchCmd'. The printed output may be copy / pasted directly to the remote machine.

Details

Daemons must already be set for launchers to work.

These functions may be used to re-launch daemons that have exited after reaching time or task limits.

For non-dispatcher daemons using the default seed strategy, the generated command contains the argument rs specifying the length 7 L'Ecuyer-CMRG random seed supplied to the daemon. The values will be different each time the function is called.

Examples

if (FALSE) { # interactive()
daemons(url = host_url(), dispatcher = FALSE)
info()
launch_local(1L, cleanup = FALSE)
launch_remote(1L, cleanup = FALSE)
Sys.sleep(1)
info()
daemons(0)

daemons(url = host_url(tls = TRUE))
info()
launch_local(2L, output = TRUE)
Sys.sleep(1)
info()
daemons(0)
}