CONDOR_DAG_CHECKER(1)
π CONDOR_DAG_CHECKER(1) π
okay bestie, so this is a page from the HTCondor Manual and babes, it's about condor_dag_checker β the little tool that goes through your DAG file(s) and sniffs out any syntactical and logical issues before you even try to run them. it's giving pre-flight check, it's giving "i'm protecting you from yourself", and honestly? we're obsessed. π©·
β¨ NAME β¨
condor_dag_checker β HTCondor Manual
Process provided DAG file(s) for syntactical and logical issues. yeah. that's the whole job. it reads your DAG and tells you what's wrong with it. no cap.
πΈ SYNOPSIS πΈ
condor_dag_checker [-help]
condor_dag_checker [OPTIONS] DAG_File [DAG_File ...]
condor_dag_checker [-AllowIllegalChars] [-UseDagDir] [-[No]JoinNodes]
[-json | -Statistics] [-CheckExternalFiles] [-CheckJDL] [-CheckScripts]
[-CheckSubDags] [-Strict]
π¦ DESCRIPTION π¦
So what it does is: it processes the DAG file(s) you hand it and looks for any issue that would stop a DAG from being created and executed. π
And what counts as an "issue"? Things like β but not limited to, bestie, don't @ me β
- incorrect DAG command syntax
- referencing nodes that are literally undefined π»
- cyclic dependencies (round and round and round, a toxic situationship fr)
π OPTIONS π
-AllowIllegalCharsβ let node names have illegal characters in them. you're breaking the rules but like, on purpose.-CheckExternalFilesβ go process external submit files and Sub-DAG files, if they exist.-CheckJDLβ best effort processing of node submit descriptions, similar to whatcondor_submit -dry-rundoes.-CheckScriptsβ check that node scripts actually exist. they gotta be there, periodt.-CheckSubDagsβ best effort processing of Sub-DAG files.-[No]JoinNodesβ enable/disable use of join nodes in the produced DAG. Enabled by default, so if you want it off you say-NoJoinNodes.-jsonβ print the results into JSON format. for the tech girlies who love structured data π₯-Statisticsβ print statistics about the parsed DAG.-Strictβ require that external files checked actually exist during processing, or else it counts as an error. no more "eh, it's fine".-UseDagDirβ switch into the DAG file's directory before parsing. cute little cd, but make it official.
π GENERAL REMARKS π
okay this part is important, listen up. π
By default, this tool does not check any external files that the DAG uses β meaning scripts, submit files, Sub-DAGs β because those can be dynamically generated during DAGMan's lifetime. like, they might not even exist yet when you're checking! so it's not being lazy, it's being smart. π§
If you use -CheckExternalFiles, that enables this tool to also process Sub-DAGs and submit files (akin to condor_submit -dry-run). This is best effort β it only processes the external files if they exist. And if you want an actual error reported when those external files don't exist, use -Strict.
Also: this tool will process files specified by the INCLUDE and SPLICE commands. yes ma'am, it follows the tea. β
π EXIT STATUS π
0β Success (No issues detected in DAG files(s)) β¨1β Failure (Issue detected with DAG file(s)) π2β Tool execution failure π
β EXAMPLES β
Example checking DAG file diamond.dag for issues:
$ condor_dag_checker diamond.dag
Example getting statistics about DAG file diamond.dag:
$ condor_dag_checker -statistics diamond.dag
Example getting JSON formatted information about DAG file diamond.dag:
$ condor_dag_checker -json diamond.dag
Example checking multiple DAG files for issues:
$ condor_dag_checker first.dag second.dag third.dag
Example use DAG file directories during processing:
$ condor_dag_checker -usedagdir subdir1/simple.dag subdir2/simple.dag
Example comparing DAG file with and without join nodes:
$ condor_dag_checker -stat -JoinNodes sample.dag
$ condor_dag_checker -stat -NoJoinNodes sample.dag
Example processing Sub-DAGs best effort:
$ condor_dag_checker -CheckSubDags russian-nested.dag
Example processing node submit descriptions best effort:
$ condor_dag_checker -CheckJDL sample.dag
Example verifying all node scripts exist:
$ condor_dag_checker -CheckScripts sample.dag
Example checking all external files for existence and validity:
$ condor_dag_checker -CheckExternalFiles -strict sample.dag
π SEE ALSO π
- None
likeβ¦ nothing? okay we're self-sufficient, we're the whole meal, we're the main character energy here. π
π«Ά AVAILABILITY π«Ά
- Linux, MacOS, Windows
Introduced in v24.10.1 of HTCondor. so she's new-ish, she's fresh, she's iconic. π
π AUTHOR π
HTCondor Team
πΈ COPYRIGHT πΈ
1990-2026, Center for High Throughput Computing, Computer Sciences Department, University of Wisconsin-Madison, Madison, WI, US. Licensed under the Apache License, Version 2.0.
and that's the whole vibe check bestie, go forth and validate your DAGs before they ghost you π¦
okay mwah, this was the HTCondor Manual edition of CONDOR_DAG_CHECKER(1), dated Oct 16, 2026 β luv u, bye!! πβ¨
π¦ where this page comes from
- fedora 43: condor 25.14.1-1.fc43 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms