Hi Thomas, At least for JOB_ROUTER_ROUTE_NAMES the general HTCondor docs [0] explicitly say those are processed in the order of the list: > Routes will be matched to jobs in the order their names are declared in this list. For the JOB_ROUTER_*_ROUTE_TRANSFORM_NAMES itâs technically not spelled out, but seems pretty clear to have similar behaviour: > An ordered list of the names of transforms that should be applied when a job is being routed [â] So the router will first go through all JOB_ROUTER_PRE_ROUTE_TRANSFORM_NAMES, then through JOB_ROUTER_ROUTE_NAMES until the first match, then through all JOB_ROUTER_POST_ROUTE_TRANSFORM_NAMES. We do use JOB_ROUTER_*_ROUTE_TRANSFORM_NAMES to patch a few attributes set by the CE (ð) so itâs definitely possible to overwrite/extend attributes in later routes. Cheers, Max [0] https://htcondor.readthedocs.io/en/latest/admin-manual/configuration-macros.html#condor-job-router-configuration-file-entries > On 16. Jul 2024, at 12:31, Thomas Hartmann <thomas.hartmann@xxxxxxx> wrote: > > Hi all, > > we are rewriting currently our CondorCE routes in the new synatx and I have a quick question. When having a number of routes, how are they actually ordered (or can they be ordered during loading the config)? ð > > Let's say, I have different routes, which could match for the same job - so that the different routes have REQUIREMENTS on different original job ads - but which are not necessarily excluding each other. > > IIRC Routes are not chained and I would guess that the first route matching its requirement wins and the job goes down this route (with a PRE ROUTE maybe applied before). > > If so, is there a suggested way to "order" routes to priotize these or ensure that the correct route is taken (without overloading the requirements)? > E.g., in [1] there would be three routes getting added to JOB_ROUTER_ROUTE_NAMES. Would the routes then be applied in their order as in JOB_ROUTER_ROUTE_NAMES - or would JOB_ROUTER_ROUTE_NAMES get sorted alphanumerical and the routes then get tried to be matched in their alphanumerical order? > > On PRE ROUTEs - is it safe to assume that ads set in the pre_route can be overwritten/extended in following routes? Or would it be better to set only transient pre route ad, that is evaluated & set in the following routes into the actual ad? > > Cheers, > Thomas > > > [1] > > JOB_ROUTER_ROUTE_FOO_01DEFAULTS @=end > SET adForAll = "valueForAll" > SET requirements = "NODE_IS_HEALTHY" > @end > > FOO_01PRIO @=end > ... > REQUIREMENTS (something == true) > EVALSET requirements = "${requirements} && getFastBox == true" > @end > > FOO_03BAZ @=end > ... > REQUIREMENTS (bazAd == true) > @end > > FOO_90REST @=end > ... > @end > > JOB_ROUTER_PRE_ROUTE_TRANSFORM_NAMES = $(JOB_ROUTER_PRE_ROUTE_TRANSFORM_NAMES) FOO_90REST FOO_01DEFAULTS FOO_03BAZ > > JOB_ROUTER_ROUTE_NAMES = $(JOB_ROUTER_ROUTE_NAMES) FOO_01PRIO > _______________________________________________ > HTCondor-users mailing list > To unsubscribe, send a message to htcondor-users-request@xxxxxxxxxxx with a > subject: Unsubscribe > You can also unsubscribe by visiting > https://lists.cs.wisc.edu/mailman/listinfo/htcondor-users > > The archives can be found at: > https://lists.cs.wisc.edu/archive/htcondor-users/
Attachment:
smime.p7s
Description: S/MIME cryptographic signature