CONDOR_DAGMAN(1)
π condor_dagman β HTCondor Manual π
okay so bestie, welcome to condor_dagman, aka the node scheduler for automating HTCondor job workflows. she's the one who runs the show behind the scenes, and you're probably not supposed to talk to her directly, but here we are, and honestly? iconic. π
β¨ NAME β¨
condor_dagman β HTCondor Manual
Node scheduler for automating HTCondor job workflows. π¦
πΈ SYNOPSIS πΈ
condor_dagman [-help | -version]
condor_dagman -p 0 -f -l . [OPTIONS] DAG_file [DAG_file...]
condor_dagman -p 0 -f -l . [-WaitForDebug] [-CsdVersion VersionString]
[-AllowVersionMismatch] [-Batch-Name name] [-Dag DAG_file] [-Debug
level] [-Dot] [-DryRun] [-Lockfile filename] [-Priority priority]
[-SubmitMethod value] [-UseDagDir] [-AlwaysRunPost | -DontAlwaysRunPost]
[-suppress_notification | -dont_suppress_notification] [-AutoRescue
<0|1>] [-DoRescueFrom N] [-DoRecovery] [-RescueFile filename]
[-load_save filename] [-MaxHold N] [-MaxIdle N] [-MaxJobs N] [-MaxPost
N] [-MaxPre N]
π DESCRIPTION π
so basically she's a meta node scheduler that automatically manages HTCondor user workflows, and those workflows describe jobs as nodes in a Directed Acyclic Graph (DAG). and the way every single part of that DAG β nodes, dependencies, visualizations, all of it β gets described in a DAG Description File (*.dag) using the DAG Description Language (DDL)?? obsessed. π
β¨ OPTIONS β¨
-helpβ she'll show you how to use her. usage info, that's it, that's the post.-versionβ tells you what version she is. her whole identity, honestly.-WaitForDebugβ pauses DAGMan's execution until a debugger is attached. lowkey in her waiting era. π«Ά
NOTE: Requires manual setting ofwait_for_debugvariable tofalseto continue execution. not me having to flip my own switch π
-CsdVersionVersionString β the version ofcondor_submit_dagthat produced the scheduler universe job representing this DAGMan instance. receipts, basically.-AllowVersionMismatchβ allows a version difference betweencondor_dagmanherself and the*.condor.subfile thatcondor_submit_dagproduced.
WARNING: β οΈ This option should only be used if absolutely necessary, because version mismatches can cause subtle problems when running DAGMan. subtweeting yourself is never the move, bestie.
-Batch-Namename β sets theJobBatchNameto name for all jobs thatcondor_dagmanplaces to the AP.-dagDAG_file β name a file that details a DAG structure forcondor_dagmanto manage. (yes the SYNOPSIS up there spells it-Dagand the option list spells it-dagβ she contains multitudes, don't come for her π)-Debuglevel β sets the debug log level. scroll down for the level lore, see below.-Dotβ exits immediately after producing the first DAG visual DOT file. she said "made the art, now I'm leaving" π¨-DryRunβ tellscondor_dagmanto execute the DAG without actually placing any jobs to the AP. window shopping era.-Lockfilefilename β path to a file to writecondor_dagmanprocess information. this prevents othercondor_dagmanprocesses executing the same DAG(s) from being executed in the same directory. it's giving "this is my room, get out" π-Prioritypriority β sets the minimumJobPriofor jobs managed bycondor_dagman.-SubmitMethodvalue β specifies howcondor_dagmanwill place managed jobs to the AP. values below, bestie.-UseDagDirβ tellscondor_dagmanto execute each specified DAG from their respective directories. everyone sticks to their own lane β¨-AlwaysRunPostβ always execute POST scripts, even upon failure of any PRE scripts.-DontAlwaysRunPostβ only execute POST scripts after a node's list of jobs have completed (Success or Failure). Default.-suppress_notificationβ suppresses email notifications for all managed jobs. inbox zero queen π-dont_suppress_notificationβ allows email notifications for any managed jobs that have notifications specified. Default.-AutoRescue <0|1>β automatically detects rescue DAG files upon startup and rescues from the most recent (highest number) rescue file discovered.0is False. Default1is True.-DoRescueFromN β specifies a specific rescue number to locate and restore state from. pick your fighter π₯-RescueFilefilename β specifies a specific rescue file by name to restore state from.-DoRecoveryβ specifies to startup in recovery mode (restore state from*.nodes.log). we're healing π-load_savefilename β specifies a specificSAVE_POINT_FILEto restore state from.-MaxIdleN β sets the maximum number of idle jobs allowed before placing more jobs to the AP. if not specified, then this is set to the value ofDAGMAN_MAX_JOBS_IDLE.
NOTE: condor_dagman can place jobs beyond this threshold in a single job placement cycle, but won't place more jobs until the detected number of idle jobs drops below the specified threshold again. so like, she overshoots once and then chills. π
-MaxJobsN β sets the maximum number of nodes that have placed a list of jobs to the AP at any given moment. if not specified, then this is set to the value ofDAGMAN_MAX_JOBS_SUBMITTED.-MaxPreN β sets the maximum number of PRE scripts being executed at any given moment. if not specified, then this value is set toDAGMAN_MAX_PRE_SCRIPTS.-MaxPostN β sets the maximum number of POST scripts being executed at any given moment. if not specified, then this value is set toDAGMAN_MAX_POST_SCRIPTS.-MaxHoldN β sets the maximum number of HOLD scripts being executed at any given moment. if not specified, then this value is set toDAGMAN_MAX_HOLD_SCRIPTS.
π GENERAL REMARKS π
condor_dagman is not intended to be ran manually unless it's to debug or test DAGMan for a specific reason. like, she has people for this. instead, to execute a DAG, place a meta scheduler universe job to the local AP via condor_submit_dag or htcondor. periodt. π
the following options that appear first are for DaemonCore:
-p 0: causes DAGMan to run without a Socket.-f: run in foreground (i.e. not spawned bycondor_master).-l .: sets the debug log directory to the execution directory.
the following options from condor_submit_dag can also be provided to condor_dagman, and they will be used for submitting SUBDAG's:
-dagman-f/-force-import_env-include_envVar1[,Var2...]-insert_envkey=value[,key=value...]-notification-outfile_dir-update_submit-v/-verbose
π¦ Debug Level Values π¦
okay so the vibe check on debug levels, bestie:
0β Never produce output except for usage info.1β Very quiet. Only output severe errors.2β Normal output and error messages3β (Default) Print warnings.4β Internal debugging output.5β Outer loop debugging.6β Inner loop debugging.7β Output parsed DAG input lines.
π Submit Method Values π
0β Runcondor_submit1β Direct place job(s) to localcondor_schedd
β EXIT STATUS β
0β Success π₯³1β Failure has occurred π2β DAGMan aborted3β DAGMan restart
π₯ EXAMPLES π₯
Display installed condor_dagman version:
$ condor_dagman -version
Display condor_dagman usage:
$ condor_dagman -help
Manually run sample.dag:
$ condor_dagman -p 0 -f -l . sample.dag
Execute condor_dagman in a debugger:
$ condor_dagman -p 0 -f -l . -waitfordebug -dag sample.dag
π SEE ALSO π
condor_submit_dag
π AVAILABILITY π
Linux, MacOS, Windows. she said cross-platform, no cap. π
π 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.
okay bestie that's the whole page!! πβ¨π¦πΈπ π«Ά
this absolute masterclass of a manual page is brought to you by the HTCondor Manual, dated Oct 16, 2026, and it lives at CONDOR_DAGMAN(1). go run a DAG. slay. π
π¦ 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