{subsection: Assumptions} 1: Your job exits after taking a checkpoint with an exit code it does not otherwise use. - *: If your job does not exit when it takes a checkpoint, HTCondor can not (currently) transfer its checkpoint. If your job does not exit with a unique code when it takes a checkpoint, HTCondor will transfer files and restart the job whenever the job exits with that code; if the checkpoint code and the terminal exit code are the same, your job will never finish. +*:: If your job does not exit when it takes a checkpoint, HTCondor can not (currently) transfer its checkpoint. If your job does not exit with a unique code when it takes a checkpoint, HTCondor will transfer files and restart the job whenever the job exits with that code; if the checkpoint code and the terminal exit code are the same, your job will never finish. 2: When restarted, your job determines on its own if a checkpoint is available, and if so, uses it. - *: If your job does not look for a checkpoint each time it starts up, it will start from scratch each time; HTCondor does not run a different command line when restarting a job which has transferred a checkpoint. +*:: If your job does not look for a checkpoint each time it starts up, it will start from scratch each time; HTCondor does not run a different command line when restarting a job which has transferred a checkpoint. 3: Starting your job up from a checkpoint is relatively quick. - *: If starting your job up from a checkpoint is relatively slow, your job may not run efficiently enough to be useful, depending on the frequency of checkpoints and interruptions. +*:: If starting your job up from a checkpoint is relatively slow, your job may not run efficiently enough to be useful, depending on the frequency of checkpoints and interruptions. 4: Your job can not otherwise communicate with HTCondor, or it does not atomically update its checkpoint(s). - *: Because interruptions may occur at any time, if your job does not update its checkpoints atomically, HTCondor may transfer a partially-updated checkpoint. +*:: Because interruptions may occur at any time, if your job does not update its checkpoints atomically, HTCondor may transfer a partially-updated checkpoint. {subsection: Using +WantFTOnCheckpoint}