Skip to contents

R6 class to launch and manage LSF workers.

Details

See crew_launcher_lsf().

Attribution

The template files at https://github.com/mschubert/clustermq/tree/master/inst informed the development of the crew launcher plugins in crew.cluster, and we would like to thank Michael Schubert for developing clustermq and releasing it under the permissive Apache License 2.0. See the NOTICE and README.md files in the crew.cluster source code for additional attribution.

Super classes

crew::crew_class_launcher -> crew.cluster::crew_class_launcher_cluster -> crew_class_launcher_lsf

Methods

Inherited methods


Method validate()

Validate the launcher.

Usage

crew_class_launcher_lsf$validate()

Returns

NULL (invisibly). Throws an error if a field is invalid.


Method script()

Generate the job script.

Usage

crew_class_launcher_lsf$script(name, attempt)

Arguments

name

Character of length 1, name of the job. For inspection purposes, you can supply a mock job name.

attempt

Positive integer, number of the current attempt. The attempt number increments each time a worker exits without completing all its tasks, and it resets back to 1 if a worker instance successfully completes all its tasks and then exits normally. By assigning vector arguments to the cluster-specific options of the controller, you can configure different sets of resources for different attempts.

Details

Includes everything except the worker-instance-specific job name and the worker-instance-specific call to crew::crew_worker(), both of which get inserted at the bottom of the script at launch time.

Returns

Character vector of the lines of the job script.

Examples

if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) {
launcher <- crew_launcher_lsf(
  lsf_cwd = getwd(),
  lsf_log_output = "log_file_%J.log",
  lsf_log_error = NULL,
  lsf_memory_gigabytes_limit = 4
)
launcher$script(name = "my_job_name")
}

Examples


## ------------------------------------------------
## Method `crew_class_launcher_lsf$script`
## ------------------------------------------------

if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) {
launcher <- crew_launcher_lsf(
  lsf_cwd = getwd(),
  lsf_log_output = "log_file_%J.log",
  lsf_log_error = NULL,
  lsf_memory_gigabytes_limit = 4
)
launcher$script(name = "my_job_name")
}