Workbench Job Submission
workbench_job_submission.Rmd
library(abba)In support for Workbench, abba has several local submission functions to manage interface with local Workbench cluster. At a high level, these functions break down into three different categories:
- Submit a job
- Get job status
- Retrieve the log of the job
Functions specifically for interfacing with Workbench follow the
naming convention abba_rslauncher_*_local.
Submit a Job
Job submission is handled by the function
abba_rslauncher_submit_job_local(). This is the function
used to submit a job for a regular execution. To submit program for
execution via logrx, abba_rslauncher_submit_logrx_job_local
can be used.
abba_rslauncher_submit_job_local(
"/home/mike.stackhouse/repos/abba/test_programs/test_program.R"
)
# [1] "TG9jYWw6bU9YcFMzeEZacVFaa1lLc2pRak1LZz09"
abba_rslauncher_submit_logrx_job_local(
"/home/mike.stackhouse/repos/abba/test_programs/test_program.R"
)
# [1] "TG9jYWw6VG5leWVvWFFseEN5M0JRVFptVjVIUT09"Note that this returns a vector with job id and name being path of the program. The Job ID is the identifier used downstream to interact with Workbench.
By default, program log is physically saved in the program folder.
The log destination is customizable via log_path keyword
parameter.
Get Job Status
Once the job is running in Workbench, abba can poll
its status. This can be done using the function
abba_rslauncher_get_job_status_local()
abba_rslauncher_get_job_status_local("TG9jYWw6bU9YcFMzeEZacVFaa1lLc2pRak1LZz09")
# TG9jYWw6bU9YcFMzeEZacVFaa1lLc2pRak1LZz09
# "Finished" The job statuses can be “Running”, and “Finished”(clarification needed).
Get the Log Content
In this context, the “log” refers to the stdout/stderr of the program itself. This returns into a list object with the Job ID and the individual lines written out by the program. The content will contain all of the console output from the program itself.
abba_rslauncher_get_job_log_local("TG9jYWw6bU9YcFMzeEZacVFaa1lLc2pRak1LZz09")
# [[1]]
# [1] "[1] 4" "Warning message:" "This is a test warning " "La-di-da" Alternatively, when using
abba_rslauncher_submit_logrx_job_local(), the log file will
contain the logrx
log output.
abba_rslauncher_get_job_log_local("TG9jYWw6VG5leWVvWFFseEN5M0JRVFptVjVIUT09")
# [[1]]
# [1] "--------------------------------------------------------------------------------"
# [2] "- logrx Metadata -"
# [3] "--------------------------------------------------------------------------------"
# [4] "This log was generated using logrx 0.3.0"
# [5] "logrx package version: 0.3.0"
# [6] "logrx build: RSPM (R 4.2.0)"
# [7] "logrx link to repository: https://github.com/pharmaverse/logrx"
# [8] "--------------------------------------------------------------------------------"
# [9] "- User and File Information -"
# [10] "--------------------------------------------------------------------------------"
# [11] "User: mike.stackhouse"
# [12] "File Name: test_program.R"
# [13] "File Path: /home/mike.stackhouse/repos/abba/test_programs"
# [14] "File HashSum: 1ba9a7fc3cf91e3cce43d38a5bf1d800900f1c92"
# [15] "--------------------------------------------------------------------------------"
# [16] "- Session Information -"
# [17] "--------------------------------------------------------------------------------"
# [18] "- Session info ---------------------------------------------------------------"
# [19] " setting value"
# [20] " version R version 4.2.1 (2022-06-23)"
# [21] " os Ubuntu 20.04.6 LTS"
# [22] " system x86_64, linux-gnu"
# [23] " ui X11"
# [24] " language (EN)"
# [25] " collate C"
# [26] " ctype C"
# [27] " tz Etc/UTC"
# [28] " date 2024-03-29"
# [29] " pandoc 2.5 @ /usr/bin/pandoc"
# [30] ""
# [31] "- Packages -------------------------------------------------------------------"
# [32] " package * version date (UTC) lib source"
# [33] " cli 3.6.2 2023-12-11 [1] RSPM (R 4.2.0)"
# [34] " digest 0.6.34 2024-01-11 [1] RSPM (R 4.2.0)"
# [35] " dplyr 1.1.4 2023-11-17 [1] RSPM (R 4.2.0)"
# [36] " ellipsis 0.3.2 2021-04-29 [1] RSPM (R 4.2.0)"
# [37] " fansi 1.0.6 2023-12-08 [1] RSPM (R 4.2.0)"
# [38] " fastmap 1.1.1 2023-02-24 [1] RSPM (R 4.2.0)"
# [39] " generics 0.1.3 2022-07-05 [1] RSPM (R 4.2.0)"
# [40] " glue 1.7.0 2024-01-09 [1] RSPM (R 4.2.0)"
# [41] " htmltools 0.5.7 2023-11-03 [1] RSPM (R 4.2.0)"
# [42] " httpuv 1.6.14 2024-01-26 [1] RSPM (R 4.2.0)"
# [43] " later 1.3.2 2023-12-06 [1] RSPM (R 4.2.0)"
# [44] " lifecycle 1.0.4 2023-11-07 [1] RSPM (R 4.2.0)"
# [45] " logrx * 0.3.0 2023-10-17 [1] RSPM (R 4.2.0)"
# [46] " magrittr 2.0.3 2022-03-30 [1] RSPM (R 4.2.0)"
# [47] " mime 0.12 2021-09-28 [1] RSPM (R 4.2.0)"
# [48] " miniUI 0.1.1.1 2018-05-18 [1] RSPM (R 4.2.0)"
# [49] " pillar 1.9.0 2023-03-22 [1] RSPM (R 4.2.0)"
# [50] " pkgconfig 2.0.3 2019-09-22 [1] RSPM (R 4.2.0)"
# [51] " promises 1.2.1 2023-08-10 [1] RSPM (R 4.2.0)"
# [52] " purrr 1.0.2 2023-08-10 [1] RSPM (R 4.2.0)"
# [53] " R6 2.5.1 2021-08-19 [1] RSPM (R 4.2.0)"
# [54] " Rcpp 1.0.12 2024-01-09 [1] RSPM (R 4.2.0)"
# [55] " rlang 1.1.3 2024-01-10 [1] RSPM (R 4.2.0)"
# [56] " rstudioapi 0.15.0 2023-07-07 [1] RSPM (R 4.2.0)"
# [57] " sessioninfo 1.2.2 2021-12-06 [1] RSPM (R 4.2.0)"
# [58] " shiny 1.8.0 2023-11-17 [1] RSPM (R 4.2.0)"
# [59] " stringi 1.8.3 2023-12-11 [1] RSPM (R 4.2.0)"
# [60] " stringr 1.5.1 2023-11-14 [1] RSPM (R 4.2.0)"
# [61] " tibble 3.2.1 2023-03-20 [1] RSPM (R 4.2.0)"
# [62] " tidyr 1.3.1 2024-01-24 [1] RSPM (R 4.2.0)"
# [63] " tidyselect 1.2.0 2022-10-10 [1] RSPM (R 4.2.0)"
# [64] " utf8 1.2.4 2023-10-22 [1] RSPM (R 4.2.0)"
# [65] " vctrs 0.6.5 2023-12-01 [1] RSPM (R 4.2.0)"
# [66] " waiter 0.2.5 2022-01-03 [1] RSPM (R 4.2.0)"
# [67] " xtable 1.8-4 2019-04-21 [1] RSPM (R 4.2.0)"
# [68] ""
# [69] " [1] /home/mike.stackhouse/R/x86_64-pc-linux-gnu-library/4.2"
# [70] " [2] /opt/R/4.2.1/lib/R/library"
# [71] ""
# [72] "- External software ----------------------------------------------------------"
# [73] " setting value"
# [74] " cairo 1.16.0"
# [75] " cairoFT"
# [76] " pango 1.44.7"
# [77] " png 1.6.37"
# [78] " jpeg 8.0"
# [79] " tiff LIBTIFF, Version 4.1.0"
# [80] " tcl 8.6.10"
# [81] " curl 7.68.0"
# [82] " zlib 1.2.11"
# [83] " bzlib 1.0.8, 13-Jul-2019"
# [84] " xz 5.2.4"
# [85] " PCRE 10.34 2019-11-21"
# [86] " ICU 66.1"
# [87] " TRE TRE 0.8.0 R_fixes (BSD)"
# [88] " iconv glibc 2.31"
# [89] " readline 8.0"
# [90] " BLAS /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0"
# [91] " lapack /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0"
# [92] " lapack_version 3.9.0"
# [93] ""
# [94] "- Python configuration -------------------------------------------------------"
# [95] " Python is not available"
# [96] ""
# [97] "------------------------------------------------------------------------------"
# [98] "--------------------------------------------------------------------------------"
# [99] "- Masked Functions -"
# [100] "--------------------------------------------------------------------------------"
# [101] "function `args` from {package:base} by .GlobalEnv"
# [102] "function `plot` from {package:base} by package:graphics"
# [103] "function `body<-` from {package:base} by package:methods"
# [104] "function `kronecker` from {package:base} by package:methods"
# [105] "--------------------------------------------------------------------------------"
# [106] "- Used Package and Functions -"
# [107] "--------------------------------------------------------------------------------"
# [108] "{package:base} print"
# [109] "{package:base} warning"
# [110] "{package:base} message"
# [111] "--------------------------------------------------------------------------------"
# [112] "- Program Run Time Information -"
# [113] "--------------------------------------------------------------------------------"
# [114] "Start time: 2024-03-29 18:34:59 UTC"
# [115] "End time: 2024-03-29 18:34:59 UTC"
# [116] "Run time: 0 seconds"
# [117] "--------------------------------------------------------------------------------"
# [118] "- Errors and Warnings -"
# [119] "--------------------------------------------------------------------------------"
# [120] "Errors:"
# [121] "\t"
# [122] ""
# [123] "Warnings:"
# [124] "\tThis is a test warning"
# [125] "--------------------------------------------------------------------------------"
# [126] "- Messages, Output, and Result -"
# [127] "--------------------------------------------------------------------------------"
# [128] "Messages:"
# [129] "\tLa-di-da"
# [130] "Output:"
# [131] "\t[1] 4"
# [132] ""
# [133] "Result:"
# [134] "\tNULL"
# [135] "--------------------------------------------------------------------------------"
# [136] "- Log Output File -"
# [137] "--------------------------------------------------------------------------------"
# [138] "Log name: test_program.log"
# [139] "Log path: /home/mike.stackhouse/repos/abba/test_programs"