| crew_class_launcher_slurm {crew.cluster} | R Documentation |
SLURM launcher class
Description
R6 class to launch and manage SLURM workers.
Details
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_slurm
Active bindings
slurm_log_outputslurm_log_errorslurm_memory_gigabytes_per_cpuslurm_cpus_per_taskslurm_time_minutesslurm_partitionSee See
crew_launcher_slurm().
Methods
Public methods
Inherited methods
crew::crew_class_launcher$active()crew::crew_class_launcher$booting()crew::crew_class_launcher$call()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()crew.cluster::crew_class_launcher_cluster$launch_worker()crew.cluster::crew_class_launcher_cluster$terminate_worker()
Method new()
SLURM launcher constructor.
Usage
crew_class_launcher_slurm$new( name = NULL, seconds_interval = NULL, seconds_timeout = NULL, seconds_launch = NULL, seconds_idle = NULL, seconds_wall = NULL, tasks_max = NULL, tasks_timers = NULL, reset_globals = NULL, reset_packages = NULL, reset_options = NULL, garbage_collection = NULL, launch_max = NULL, tls = NULL, verbose = NULL, command_submit = NULL, command_terminate = NULL, script_directory = NULL, script_lines = NULL, slurm_log_output = NULL, slurm_log_error = NULL, slurm_memory_gigabytes_per_cpu = NULL, slurm_cpus_per_task = NULL, slurm_time_minutes = NULL, slurm_partition = NULL )
Arguments
nameseconds_intervalseconds_timeoutseconds_launchseconds_idleseconds_walltasks_maxtasks_timersreset_globalsreset_packagesreset_optionsgarbage_collectionlaunch_maxtlsverbosecommand_submitSee
crew_launcher_sge().command_terminateSee
crew_launcher_sge().script_directorySee
crew_launcher_sge().script_linesSee
crew_launcher_sge().slurm_log_outputslurm_log_errorslurm_memory_gigabytes_per_cpuslurm_cpus_per_taskslurm_time_minutesslurm_partition
Returns
an SLURM launcher object.
Method validate()
Validate the launcher.
Usage
crew_class_launcher_slurm$validate()
Returns
NULL (invisibly). Throws an error if a field is invalid.
Method script()
Generate the job script.
Usage
crew_class_launcher_slurm$script(name)
Arguments
nameCharacter of length 1, name of the job. For inspection purposes, you can supply a mock job name.
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_slurm(
slurm_log_output = "log_file_%A.log",
slurm_log_error = NULL,
slurm_memory_gigabytes_per_cpu = 4096
)
launcher$script(name = "my_job_name")
}
See Also
Other slurm:
crew_class_monitor_slurm,
crew_controller_slurm(),
crew_launcher_slurm(),
crew_monitor_slurm()
Examples
## ------------------------------------------------
## Method `crew_class_launcher_slurm$script`
## ------------------------------------------------
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) {
launcher <- crew_launcher_slurm(
slurm_log_output = "log_file_%A.log",
slurm_log_error = NULL,
slurm_memory_gigabytes_per_cpu = 4096
)
launcher$script(name = "my_job_name")
}