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

Re: [Condor-users] Job attribute based preemption

So if I can make sure that there is significant different between the rank of the currently running and the preempting job's rank than I can - although indirectly - guess the type of my job without knowing the actual classad values. And these values (PreemptingRank and CurrentRank) can be queried in a MaxJobRetirementTime expression.
Is it correct?


Ah. You want the machine to provide a long retirement time except when the job is being preempted by certain other types of jobs? There is currently no way to look at arbitrary attributes of the preempting job from the MaxJobRetirementTime expression. However, you can compare PreemptingRank and CurrentRank or PreemptingOwner and Owner. Example:

MaxJobRetirementTime = (...) * (isUndefined(PreemptingRank) || PreemptingRank <= CurrentRank)

I haven't tested that, but I think that should set MaxJobRetirementTime to 0 if PreemptingRank is greater than CurrentRank. You could be more specific in which types of jobs are allowed to be quickly preempted, but, since you can't access attributes of the preempting job, you can't be more specific in terms of which type of job is allowed to quickly preempt, other than, as I mentioned before, not letting them pass through the START expression in the first place.