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

Re: [HTCondor-users] force certain type of jobs to run on an specific startd



> Basically, if I can have multiple blocks [ ] [ ] inside a JOB_TRANSFORM?

No, but you can have multiple transforms

> I guess it would be cleaner to split it into different JOB_TRANSFORM_XYZ either...
> My main problem is that they need to processed in order, and once a
> job have been successfully handled by one block, it should not be
> analyzed by the others. Makes sense?

Each transform can set an attribute, that prevents later transforms from matching the job and further transforming it. something like this will work

JOB_TRANF0RM_NAMES = AAA, BBB, $(JOB_TRANF0RM_NAMES)

JOB_TRANSFORM_AAA @=end
[
   Requirements = TransformedBy is undefined && JobUniverse == 5 && ...
   set_TransformedBy = "AAA"
   copy_Requirements = "job_Requirements"
   set_Requirements = TARGET.Machine == "host1" && job_Requirements
]
@end

JOB_TRANSFORM_BBB @=end
[
   Requirements = TransformedBy is undefined && JobUniverse == 5 && ...
   set_TransformedBy = "BBB"
   copy_Requirements = "job_Requirements"
   set_Requirements = TARGET.Machine == "host2" && job_Requirements
]
@end

The two transforms above will be checked in order at submit time.  If the first one matches the job, then it will
change the job's requirements, and then also set an attribute that prevents the second transform from matching.

What you are describing sounds a little like the condor_job_router.  The job router does a lot more than just job
transforms so it may not be what you want, but I think you should have a look at it. 

-tj