[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[HTCondor-users] Recover the job status in the PostScript



Hi,

I am testing the latest HTCondor release:
python3-condor-24.10.0-0.817740.el9.x86_64
condor-24.10.0-0.817740.el9.x86_64

And I have found an issue with the “PostScript” (or maybe is because I was using incorrectly it from the beginning)

I am running the jobs in the docker universe, and I have a PostScript to perform some actions after the container has finished.
In this script I need to know the exit status of the container (signal or exit code) and up to now I was able to get that information directly at the working directory with a code like:

Import classad2 as classad

job_ad = os.environ.get('_CONDOR_JOB_AD')
with open(job_ad, 'r') as ft:
    ca = classad.parseOne(ft)

toe = ca[‘ToE’]
if toe[‘ExitBySignal’]:
    signal = toe[‘ExitSignal’]
else:
    code = toe[‘ExitCode’]


Now ToE is not any longer in the job ads. In the submitter is not an issue, as I can find the same information in TerminatedNormally, ReturnValue and TerminatedBySignal ads.
The problem is at the PostScript, that now at the _CONDOR_JOB_AD I only find:
    ExitBySignal = false
    ExitStatus = 0

Independently on how the docker container has finished. It looks like the file is created before the job starts and not updated anymore after the job ends.

Is the .job.ad file not going to be updated anymore after the job execution?
Is there a better way to recover the exit status of the container (or the job in case of vanilla universe) in the PostScript?

Thanks!
Andrés Ayala

EUMETSAT Data Processing System Engineer

Any email message from EUMETSAT is sent in good faith but shall neither be binding nor construed as constituting a commitment by EUMETSAT, except where provided for in a written agreement or contract or if explicitly stated in the email. Please note that any views or opinions presented in this email are solely those of the sender and do not necessarily represent those of EUMETSAT. This message and any attachments are intended for the sole use of the addressee(s) and may contain confidential and privileged information. Any unauthorised use, disclosure, dissemination or distribution (in whole or in part) of its contents is not permitted. If you received this message in error, please notify the sender and delete it from your system.