Skip to contents

R6 class for mirai clients.

Details

See crew_client().

See also

Other client: crew_client()

Active bindings

name

See crew_client().

workers

See crew_client().

host

See crew_client().

port

See crew_client().

tls

See crew_client().

seconds_interval

See crew_client().

seconds_timeout

See crew_client().

retry_tasks

See crew_client()

relay

Relay object for event-driven programming on a downstream condition variable.

started

Whether the client is started.

client

Process ID of the local process running the client.

dispatcher

Process ID of the mirai dispatcher

Methods


Method new()

mirai client constructor.

Usage

crew_class_client$new(
  name = NULL,
  workers = NULL,
  host = NULL,
  port = NULL,
  tls = NULL,
  seconds_interval = NULL,
  seconds_timeout = NULL,
  retry_tasks = NULL,
  relay = NULL
)

Arguments

name

Argument passed from crew_client().

workers

Argument passed from crew_client().

host

Argument passed from crew_client().

port

Argument passed from crew_client().

tls

Argument passed from crew_client().

seconds_interval

Argument passed from crew_client().

seconds_timeout

Argument passed from crew_client().

retry_tasks

Argument passed from crew_client().

relay

Argument passed from crew_client().

Returns

An R6 object with the client.

Examples

if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) {
client <- crew_client()
client$start()
client$log()
client$terminate()
}


Method validate()

Validate the client.

Usage

crew_class_client$validate()

Returns

NULL (invisibly).


Method start()

Start listening for workers on the available sockets.

Usage

crew_class_client$start()

Returns

NULL (invisibly).


Method terminate()

Stop the mirai client and disconnect from the worker websockets.

Usage

crew_class_client$terminate()

Returns

NULL (invisibly).


Method condition()

Get the nanonext condition variable which tasks signal on resolution.

Usage

crew_class_client$condition()

Returns

The nanonext condition variable which tasks signal on resolution. The return value is NULL if the client is not running.


Method resolved()

Get the true value of the nanonext condition variable.

Usage

crew_class_client$resolved()

Returns

The value of the nanonext condition variable.


Method summary()

Show an informative worker log.

Usage

crew_class_client$summary()

Returns

A tibble with information on the workers, or NULL if the client is not started. The tibble has 1 row per worker and the following columns:

  • worker: integer index of the worker.

  • online: TRUE if the worker is online and connected to the websocket URL, FALSE otherwise.

  • instances: integer, number of instances of mirai daemons (crew workers) that have connected to the websocket URL during the life cycle of the listener.

  • assigned: number of tasks assigned to the current websocket URL.

  • complete: number of tasks completed at the current websocket URL.

  • socket: websocket URL. crew changes the token at the end of the URL path periodically as a safeguard while managing workers.


Method pids()

Get the process IDs of the local process and the mirai dispatcher (if started).

Usage

crew_class_client$pids()

Returns

An integer vector of process IDs of the local process and the mirai dispatcher (if started).

Examples

if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) {
client <- crew_client()
client$start()
client$log()
client$terminate()
}

## ------------------------------------------------
## Method `crew_class_client$new`
## ------------------------------------------------

if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) {
client <- crew_client()
client$start()
client$log()
client$terminate()
}