Job dependencies

job_dependency_all(job_tb = NULL)

job_dependency_igraph(job_id, job_tb = NULL)

job_dependency_dot(job_id, job_tb = NULL, use_label = FALSE, label_width = 15)

job_dependency_diagram(
  job_id,
  job_tb = NULL,
  use_label = FALSE,
  label_width = 15,
  ...
)

Arguments

job_tb

A data frame from bjobs(). Internally used.

job_id

A single job ID.

use_label

Whether to use job names on the diagram?

label_width

Max number of characters for wrapping the label into lines.

...

Pass to DiagrammeR::grViz(), such as the size of the html widget.

Value

job_dependency_all() returns a list that contains three elements:

  • dep_mat: a two column matrix containing dependencies from parents to children.

  • id2name: a named vector containing mapping from job IDs to job names.

  • id2stat: a named vector containing mapping from job IDs to job status.

job_dependency_igraph() returns a igraph::igraph object which contains a dependency graph induced by the input job ID.

job_dependency_dot() returns a DOT code for GraphViz visualization.

job_dependency_diagram() makes a HTML-based dependency diagram.

Examples

# \dontrun{
job1 = random_job()
#> Error in bsub_chunk({    Sys.sleep(secs)}, name = name, variables = "secs", ...): Job can only be sumitted on the same file system as submission nodes.
job2 = random_job()
#> Error in bsub_chunk({    Sys.sleep(secs)}, name = name, variables = "secs", ...): Job can only be sumitted on the same file system as submission nodes.
job3 = random_job(dependency = c(job1, job2))
#> Error in bsub_chunk({    Sys.sleep(secs)}, name = name, variables = "secs", ...): Job can only be sumitted on the same file system as submission nodes.

job_dependency_all()
#> Error in ssh_connect(): bsub_opt$submission_node is not defined. No node to connect.
job_dependency_igraph(job3)
#> Error in eval(expr, envir, enclos): object 'job3' not found
cat(job_dependency_dot(job3))
#> Error in eval(expr, envir, enclos): object 'job3' not found
job_dependency_diagram(job3)
#> Error in eval(expr, envir, enclos): object 'job3' not found
# }