Example: Transfer a job’s output sandbox on removal

When a user condor_rm’s a job, HTCondor assumes the job is not needed anymore, and removes the scratch directory, and never transfers any files from the sandbox back to the AP, or wherever they would be transferred to upon completion.

There is a job ClassAd attribute to disable this, so that any intermediate files that exist in the sandbox will be transferred, in the same way that they would have been if user had run condor_vacate_job. This attribute is My.SpoolOnEvict.

Note

Enabling this may cause the AP to be overloaded if a large number of jobs are removed at the same time. We recommend this option not be set by default, but only used for debugging.

Spool On Evict

The following example shows a submit file using SpoolOnEvict.

executable = some_long_running_job
arguments  = Argument1 Argument2

Request_disk   = 100M
Request_Memory = 1G
Request_Cpus   = 1

should_transfer_files = yes
when_to_transfer_files = on_exit_or_evict

My.SpoolOnEvict = false

queue

Submitting a job with this submit file, and then condor_rm’ing the job after it starts running should cause all the sandbox files to be transferred back to the AP.