Job Router Configuration Options
These macros affect the condor_job_router daemon.
- JOB_ROUTER_ROUTE_NAMES¶
An ordered list of the names of enabled routes. In version 8.9.7 or later, routes whose names are listed here should each have a JOB_ROUTER_ROUTE_<NAME> configuration variable that specifies the route.
Routes will be matched to jobs in the order their names are declared in this list. Routes not declared in this list will be disabled.
- JOB_ROUTER_ROUTE_<NAME>¶
Specification of a single route in transform syntax.
<NAME>should be one of the route names specified in JOB_ROUTER_ROUTE_NAMES. The transform syntax is specified in the ClassAd Transforms section of this manual.- JOB_ROUTER_PRE_ROUTE_TRANSFORM_NAMES¶
An ordered list of the names of transforms that should be applied when a job is being routed before the route transform is applied. Each transform name listed here should have a corresponding JOB_ROUTER_TRANSFORM_<NAME> configuration variable.
- JOB_ROUTER_POST_ROUTE_TRANSFORM_NAMES¶
An ordered list of the names of transforms that should be applied when a job is being routed after the route transform is applied. Each transform name listed here should have a corresponding JOB_ROUTER_TRANSFORM_<NAME> configuration variable.
- JOB_ROUTER_TRANSFORM_<NAME>¶
Specification of a single pre-route or post-route transform.
<NAME>should be one of the route names specified in JOB_ROUTER_PRE_ROUTE_TRANSFORM_NAMES or in JOB_ROUTER_POST_ROUTE_TRANSFORM_NAMES. The transform syntax is specified in the ClassAd Transforms section of this manual.- JOB_ROUTER_ENTRIES_REFRESH¶
The number of seconds between updates to the routing table. The default value is 0, meaning no periodic updates occur. With the default value of 0, the routing table can be modified when a condor_reconfig command is invoked or when the condor_job_router daemon restarts.
- JOB_ROUTER_LOCK¶
This specifies the name of a lock file that is used to ensure that multiple instances of condor_job_router never run with the same JOB_ROUTER_NAME. Multiple instances running with the same name could lead to mismanagement of routed jobs. The default value is $(LOCK)/$(JOB_ROUTER_NAME)Lock.
- JOB_ROUTER_SOURCE_JOB_CONSTRAINT¶
Specifies a global
Requirementsexpression that must be true for all newly routed jobs, in addition to anyRequirementsspecified within a routing table entry. In addition to the configurable constraints, the condor_job_router also has some hard-coded constraints. It avoids recursively routing jobs by requiring that the job’s attributeRoutedBydoes not match JOB_ROUTER_NAME. When not running as root, it also avoids routing jobs belonging to other users.- JOB_ROUTER_MAX_JOBS¶
An integer value representing the maximum number of jobs that may be routed, summed over all routes. The default value is -1, which means an unlimited number of jobs may be routed.
- JOB_ROUTER_DEFAULT_MAX_JOBS_PER_ROUTE¶
An integer value representing the maximum number of jobs that may be routed to a single route when the route does not specify a
MaxJobsvalue. The default value is 100.- JOB_ROUTER_DEFAULT_MAX_IDLE_JOBS_PER_ROUTE¶
An integer value representing the maximum number of jobs in a single route that may be in the idle state. When the number of jobs routed to that site exceeds this number, no more jobs will be routed to it. A route may specify
MaxIdleJobsto override this number. The default value is 50.- MAX_JOB_MIRROR_UPDATE_LAG¶
An integer value that administrators will rarely consider changing, representing the maximum number of seconds the condor_job_router daemon waits, before it decides that routed copies have gone awry, due to the failure of events to appear in the condor_schedd ‘s job queue log file. The default value is 600. As the condor_job_router daemon uses the condor_schedd ‘s job queue log file entries for synchronization of routed copies, when an expected log file event fails to appear after this wait period, the condor_job_router daemon acts presuming the expected event will never occur.
- JOB_ROUTER_POLLING_PERIOD¶
An integer value representing the number of seconds between cycles in the condor_job_router daemon’s task loop. The default is 10 seconds. A small value makes the condor_job_router daemon quick to see new candidate jobs for routing. A large value makes the condor_job_router daemon generate less overhead at the cost of being slower to see new candidates for routing. For very large job queues where a few minutes of routing latency is no problem, increasing this value to a few hundred seconds would be reasonable.
- JOB_ROUTER_NAME¶
A unique identifier utilized to name multiple instances of the condor_job_router daemon on the same machine. Each instance must have a different name, or all but the first to start up will refuse to run. The default is
"jobrouter".Changing this value when routed jobs already exist is not currently gracefully handled. However, it can be done if one also uses condor_qedit to change the value of
ManagedManagerandRoutedByfrom the old name to the new name. The following commands may be helpful:$ condor_qedit -constraint \ 'RoutedToJobId =!= undefined && ManagedManager == "insert_old_name"' \ ManagedManager '"insert_new_name"' $ condor_qedit -constraint \ 'RoutedBy == "insert_old_name"' RoutedBy '"insert_new_name"'
- JOB_ROUTER_RELEASE_ON_HOLD¶
A boolean value that defaults to
True. It controls how the condor_job_router handles the routed copy when it goes on hold. WhenTrue, the condor_job_router leaves the original job ClassAd in the same state as when claimed. WhenFalse, the condor_job_router does not attempt to reset the original job ClassAd to a pre-claimed state upon yielding control of the job.- JOB_ROUTER_SCHEDD1_ADDRESS_FILE¶
The path to the address file for the condor_schedd serving as the source of jobs for routing. If specified, this must point to the file configured as SCHEDD_ADDRESS_FILE of the condor_schedd identified by JOB_ROUTER_SCHEDD1_NAME. When configured, the condor_job_router will first look in this address file to get the address of the source schedd and will only query the collector specified in JOB_ROUTER_SCHEDD1_POOL if it does not find an address in that file.
- JOB_ROUTER_SCHEDD2_ADDRESS_FILE¶
The path to the job_queue.log file for the condor_schedd serving as the destination of jobs for routing. If specified, this must point to the file configured as SCHEDD_ADDRESS_FILE of the condor_schedd identified by JOB_ROUTER_SCHEDD2_NAME. When configured, the condor_job_router will first look in this address file to get the address of the destination schedd and will only query the collector specified in JOB_ROUTER_SCHEDD2_POOL if it does not find an address in that file.
- JOB_ROUTER_SCHEDD1_JOB_QUEUE_LOG¶
The path to the job_queue.log file for the condor_schedd serving as the source of jobs for routing. If specified, this must point to the job_queue.log file of the condor_schedd identified by JOB_ROUTER_SCHEDD1_NAME.
- JOB_ROUTER_SCHEDD2_JOB_QUEUE_LOG¶
The path to the job_queue.log file for the condor_schedd serving as the destination of jobs for routing. If specified, this must point to the job_queue.log file of the condor_schedd identified by JOB_ROUTER_SCHEDD2_NAME.
- JOB_ROUTER_SCHEDD1_NAME¶
The advertised daemon name of the condor_schedd serving as the source of jobs for routing. If not specified, this defaults to the local condor_schedd. If the named condor_schedd is not advertised in the local pool, JOB_ROUTER_SCHEDD1_POOL will also need to be set.
- JOB_ROUTER_SCHEDD2_NAME¶
The advertised daemon name of the condor_schedd to which the routed copy of the jobs are submitted. If not specified, this defaults to the local condor_schedd. If the named condor_schedd is not advertised in the local pool, JOB_ROUTER_SCHEDD2_POOL will also need to be set. Note that when condor_job_router is running as root and is submitting routed jobs to a different condor_schedd than the source condor_schedd, it is required that condor_job_router have permission to impersonate the job owners of the routed jobs. It is therefore usually necessary to configure QUEUE_SUPER_USER_MAY_IMPERSONATE in the configuration of the target condor_schedd.
- JOB_ROUTER_SCHEDD1_POOL¶
The Condor pool (condor_collector address) of the condor_schedd serving as the source of jobs for routing. If not specified, defaults to the local pool.
- JOB_ROUTER_SCHEDD2_POOL¶
The Condor pool (condor_collector address) of the condor_schedd to which the routed copy of the jobs are submitted. If not specified, defaults to the local pool.
- JOB_ROUTER_ROUND_ROBIN_SELECTION¶
A boolean value that controls which route is chosen for a candidate job that matches multiple routes. When set to
False, the default, the first matching route is always selected. When set toTrue, the Job Router attempts to distribute jobs across all matching routes, round robin style.- JOB_ROUTER_CREATE_IDTOKEN_NAMES¶
A list of the names of IDTOKENs that the JobRouter should create and refresh. IDTOKENS whose names are listed here should each have a JOB_ROUTER_CREATE_IDTOKEN_<NAME> configuration variable that specifies the filename, ownership and properties of the IDTOKEN.
- JOB_ROUTER_IDTOKEN_REFRESH¶
An integer value of seconds that controls the rate at which the JobRouter will refresh the IDTOKENS listed by the JOB_ROUTER_CREATE_IDTOKEN_NAMES configuration variable.
- JOB_ROUTER_CREATE_IDTOKEN_<NAME>¶
Specification of a single IDTOKEN that will be created and refreshed by the JobRouter.
<NAME>should be one of the IDTOKEN names specified in JOB_ROUTER_CREATE_IDTOKEN_NAMES. The filename, ownership and properties of the IDTOKEN are defined by the following attributes. Each attribute value must be a classad expression that evaluates to a string, exceptlifetimewhich must evaluate to an integer.- kid¶
The ID of the token signing key to use, equivalent to the
-keyargument of condor_token_create and thekidattribute of condor_token_list. Defaults to “POOL”- sub¶
The subject or user identity, equivalent to the
-identityargument of condor_token_create and thesubattribute of condor_token_list. Defaults to the token name.- scope¶
List of allowed authorizations, equivalent to the
-authzargument of condor_token_create and thescopeattribute of condor_token_list.- lifetime¶
Time in seconds that the IDTOKEN is valid after creation, equivalent to the
-lifetimeargument of condor_token_create. Theexpattribute of condor_token_list is the creation time of the token plus this value.- file¶
The filename of the IDTOKEN file, equivalent to the
-tokenargument of condor_token_create. Defaults to the token name.- dir¶
The directory that the IDTOKEN file will be created and refreshed into. Defaults to
$(SEC_TOKEN_DIRECTORY).- owner¶
If specified, the IDTOKEN file will be owned by this user. If not specified, the IDTOKEN file will be owned by the owner of the condor_job_router process. This attribute is optional if the condor_job_router is running as an ordinary user but required if it is running as a Windows service or as the
rootorcondoruser. The owner specified here should be the same as the Owner attribute of the jobs that this IDTOKEN is intended to be sent to.- JOB_ROUTER_SEND_ROUTE_IDTOKENS¶
List of the names of the IDTOKENS to add to the input file transfer list of each routed job. This list should be one or more of the IDTOKEN names specified by the JOB_ROUTER_CREATE_IDTOKEN_NAMES. If the route has a
SendIDTokensdefinition, this configuration variable is not used for that route.