babs status: Check job status

Command-Line Arguments

Check job status in a BABS project.

usage: babs status [-h] [--resubmit condition to resubmit]
                   [--resubmit-job RESUBMIT_JOB [RESUBMIT_JOB ...]]
                   [--container_config CONTAINER_CONFIG]
                   [PATH]

Positional Arguments

PATH

Absolute path to the root of BABS project. For example, '/path/to/my_BABS_project/' (default is current working directory).

Named Arguments

--resubmit

Possible choices: failed, pending

Resubmit jobs with what kind of status. failed: Jobs that failed, i.e., jobs that are out of queue but do not have results pushed to output RIA. The list of failed jobs can also be found by filtering jobs with 'is_failed' = True in job_status.csv; pending: Jobs that are pending (without error) in the queue. Example job status code of pending: 'qw' on SGE, or 'PD' on Slurm.

--resubmit-job

The subject ID (and session ID) whose job to be resubmitted. You can repeat this argument many times to request resubmissions of more than one job. Currently, only pending or failed jobs in the request will be resubmitted.

--container_config, --container-config

Path to a YAML file that contains the configurations of how to run the BIDS App container. It may include alert_log_messages section. babs status will use this section for failed job auditing, by checking if any defined alert messages can be found in failed jobs' log files.

Warning

Do NOT kill babs status (especially with --resubmit*) while it's running! Otherwise, new job IDs may not be captured or saved into the job_status.csv!

Example commands

Basic use

When only providing the required argument project_root, you'll only get job status summary (i.e., number of jobs finished/pending/running/failed):

babs status /path/to/my_BABS_project

Failed job auditing

Only use alert messages in log files for failed job auditing:

babs status \
    /path/to/my_BABS_project \
    --container-config /path/to/container_config.yaml

Use alert messages in log files + Perform job account for jobs without alert messages in log files:

babs status \
    /path/to/my_BABS_project \
    --container-config-yaml-file /path/to/container_config.yaml

Job resubmission

By using commands such as those above, you might see that some jobs are pending or failed, and you'd like to resubmit them.

Resubmit all the failed jobs:

babs status \
    /path/to/my_BABS_project \
    --resubmit failed

Resubmit specific jobs that failed or are pending:

For a single-session dataset, assume the jobs running sub-01 and sub-02 failed, and you hope to resubmit them:

babs status \
    /path/to/my_BABS_project \
    --resubmit-job sub-01 \
    --resubmit-job sub-02

For a multi-session dataset, assume the jobs running sub-01, ses-A and sub-02, ses-B failed, and you hope to resubmit them:

babs status \
    /path/to/my_BABS_project \
    --resubmit-job sub-01 ses-A \
    --resubmit-job sub-02 ses-B

Notes

For argument --resubmit-job, please provide the subject ID (and session ID) whose job you'd like to resubmit. You should not provide the job ID. See examples above.