qobj <- queue(type = "lsf", queue = "normal")
#> Setting default time to: 72:00 . If this is more than queue max (/improper format), job will fail. You may change this in job()
#> Setting default memory to: 10000 . If this is more than queue max (/improper format), job will fail.
job1 <- job(name = "myjob1", cmds = "sleep1", q_obj = qobj)
job2 <- job(name = "myjob2", cmds = "sleep2", q_obj = qobj, previous_job = "myjob1", dependency_type = "serial")
job3 <- job(name = "myjob3", cmds = "sleep3", q_obj = qobj, previous_job = "myjob1", dependency_type = "serial")
fobj <- flow(name = "myflow", jobs = list(job1, job2, job3), desc="description")
#source('/DRIVES/Dropbox2/Dropbox/public/github_flow/R/plot-funcs.R')
plot_flow(fobj)
dat <- flowr:::.create_jobs_mat(fobj)
knitr:::kable(dat)
jobnames | prev_jobs | dep_type | sub_type | cpu | nodes | jobid | prev_jobid | |
---|---|---|---|---|---|---|---|---|
myjob1 | myjob1 | none | scatter | 1 | 1 | 1 | NA | |
myjob2 | myjob2 | myjob1 | serial | scatter | 1 | 1 | 2 | 1 |
myjob3 | myjob3 | myjob1 | serial | scatter | 1 | 1 | 3 | 1 |
scatter
, and current job’s dependency type serial
cmds = rep("sleep 5", 10)
jobj1 <- job(q_obj=qobj, cmd = cmds, submission_type = "scatter", name = "job1")
jobj2 <- job(q_obj=qobj, name = "job2", cmd = cmds, submission_type = "scatter",
dependency_type = "serial", previous_job = "job1")
fobj <- flow(jobs = list(jobj1, jobj2))
plot_flow(fobj)
scatter
, and current job’s dependency type gather
jobj1 <- job(q_obj=qobj, cmd = cmds, submission_type = "scatter", name = "job1")
jobj2 <- job(q_obj=qobj, name = "job2", cmd = cmds, submission_type = "scatter",
dependency_type = "gather", previous_job = "job1")
fobj <- flow(jobs = list(jobj1, jobj2))
plot_flow(fobj)
serial
, and current job’s dependency type burst
, with a submission type: scatter
jobj1 <- job(q_obj=qobj, cmd = cmds, submission_type = "serial", name = "job1")
jobj2 <- job(q_obj=qobj, name = "job2", cmd = cmds, submission_type = "scatter",
dependency_type = "burst", previous_job = "job1")
fobj <- flow(jobs = list(jobj1, jobj2))
plot_flow(fobj)
For more details look at Building flowr recepies