crew_class_launcher_local {crew} | R Documentation |
R6
class to launch and manage local process workers.
crew::crew_class_launcher
-> crew_class_launcher_local
options_local
crew::crew_class_launcher$active()
crew::crew_class_launcher$booting()
crew::crew_class_launcher$call()
crew::crew_class_launcher$crashes()
crew::crew_class_launcher$done()
crew::crew_class_launcher$errors()
crew::crew_class_launcher$forward()
crew::crew_class_launcher$launch()
crew::crew_class_launcher$rotate()
crew::crew_class_launcher$scale()
crew::crew_class_launcher$set_name()
crew::crew_class_launcher$settings()
crew::crew_class_launcher$start()
crew::crew_class_launcher$summary()
crew::crew_class_launcher$tally()
crew::crew_class_launcher$terminate()
crew::crew_class_launcher$terminate_workers()
crew::crew_class_launcher$unlaunched()
crew::crew_class_launcher$wait()
new()
Local launcher constructor.
crew_class_launcher_local$new( name = NULL, seconds_interval = NULL, seconds_timeout = NULL, seconds_launch = NULL, seconds_idle = NULL, seconds_wall = NULL, seconds_exit = NULL, tasks_max = NULL, tasks_timers = NULL, reset_globals = NULL, reset_packages = NULL, reset_options = NULL, garbage_collection = NULL, crashes_error = NULL, tls = NULL, processes = NULL, r_arguments = NULL, options_metrics = NULL, options_local = NULL )
name
See crew_launcher()
.
seconds_interval
See crew_launcher()
.
seconds_timeout
See crew_launcher()
.
seconds_launch
See crew_launcher()
.
seconds_idle
See crew_launcher()
.
seconds_wall
See crew_launcher()
.
seconds_exit
See crew_launcher()
.
tasks_max
See crew_launcher()
.
tasks_timers
See crew_launcher()
.
reset_globals
See crew_launcher()
.
reset_packages
See crew_launcher()
.
reset_options
See crew_launcher()
.
garbage_collection
See crew_launcher()
.
crashes_error
See crew_launcher()
.
tls
See crew_launcher()
.
processes
See crew_launcher()
.
r_arguments
See crew_launcher()
.
options_metrics
options_local
An R6
object with the local launcher.
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { client <- crew_client() client$start() launcher <- crew_launcher_local(name = client$name) launcher$start(sockets = client$summary()$socket) launcher$launch(index = 1L) task <- mirai::mirai("result", .compute = client$name) mirai::call_mirai_(task) task$data client$terminate() }
validate()
Validate the local launcher.
crew_class_launcher_local$validate()
NULL
(invisibly).
launch_worker()
Launch a local process worker which will dial into a socket.
crew_class_launcher_local$launch_worker(call, name, launcher, worker, instance)
call
Character of length 1 with a namespaced call to
crew_worker()
which will run in the worker and accept tasks.
name
Character of length 1 with a long informative worker name
which contains the launcher
, worker
, and instance
arguments
described below.
launcher
Character of length 1, name of the launcher.
worker
Positive integer of length 1, index of the worker. This worker index remains the same even when the current instance of the worker exits and a new instance launches. It is always between 1 and the maximum number of concurrent workers.
instance
Character of length 1 to uniquely identify the current instance of the worker a the index in the launcher.
The call
argument is R code that will run to
initiate the worker. Together, the launcher
, worker
,
and instance
arguments are useful for
constructing informative job names.
A handle object to allow the termination of the worker later on.
terminate_worker()
Terminate a local process worker.
crew_class_launcher_local$terminate_worker(handle)
handle
A process handle object previously
returned by launch_worker()
.
A list with the process ID of the worker.
Other plugin_local:
crew_controller_local()
,
crew_launcher_local()
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) {
client <- crew_client()
client$start()
launcher <- crew_launcher_local(name = client$name)
launcher$start(sockets = client$summary()$socket)
launcher$launch(index = 1L)
task <- mirai::mirai("result", .compute = client$name)
mirai::call_mirai_(task)
task$data
client$terminate()
}
## ------------------------------------------------
## Method `crew_class_launcher_local$new`
## ------------------------------------------------
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) {
client <- crew_client()
client$start()
launcher <- crew_launcher_local(name = client$name)
launcher$start(sockets = client$summary()$socket)
launcher$launch(index = 1L)
task <- mirai::mirai("result", .compute = client$name)
mirai::call_mirai_(task)
task$data
client$terminate()
}