...
- before processing
- copy the node paramters that are defined in jobchain.config.xml into the the order paramters
- if an order parameter with the same name already exits, it will be overwritten
- substitution of all
${<param>}
with- JobScheduler parameters that are defined in the file $scheduler_data/config/scheduler.xml
- task parameters that are defined in the actual running job
- order parameters that are defined in the order
- node paramters that has been copied to the order parameters
- after processing
- delete all node parameters from the order.
Please note:
- If a task parameter value should be substituted by the configurationMonitor the value has to be quotedto quoted with a backslash to avoid the substitution by the JobScheduler
Example: a value \${param}
- If the parameter
scheduler.order.keep_order_content_on_reschedule=true
the values will be substituted only in the first run. - when using node paramters the configurationMonitor must be assigned to the job
- JOE will assign the configurationMontitor automatically when defining a node parameter in a job chain
- if substitution does not work, please check whether the configuration monitor is assigned to the job
- if not make the assignment manually with JOE.
Substituion of parameter values done by JITL-Jobs extending JobSchedulerJobAdapter
There are JITL-Jobs that extends the base class JobSchedulerJobAdapter
and some older jobs do extend JobSchedulerJob.
Please see a list here JITL Jobs - Status
This article describes the substitution in JITL-Jobs that extend JobSchedulerJobAdapter
Substitiution will be executed for
- task parameters
- order parameters
The following patterns will be recognized as parameters to be substituted
%param%
${param}
§{param}
the param can be
- task parameter
- order parameter
- node parameter
- scheduler parameter
- some special values (see list below)
List of special values:
Name | Value |
---|---|
SCHEDULER_HOST | spooler.hostname() |
SCHEDULER_TCP_PORT | spooler.tcp_port() |
SCHEDULER_UDP_PORT | spooler.udp_port() |
SCHEDULER_ID | spooler.id() |
SCHEDULER_DIRECTORY | spooler.directory() |
SCHEDULER_CONFIGURATION_DIRECTORY | spooler.configuration_directory() |
SCHEDULER_JOB_CHAIN_NAME | spooler_task.order().job_chain().name() |
SCHEDULER_JOB_CHAIN_TITLE | spooler_task.order().job_chain().title() |
SCHEDULER_ORDER_ID | spooler_task.order().id() |
SCHEDULER_NODE_NAME | getCurrentNodeName(false) |
SCHEDULER_NEXT_NODE_NAME | spooler_task.order().job_chain_node().next_state() |
SCHEDULER_NEXT_ERROR_NODE_NAME | spooler_task.order().job_chain_node().error_state() |
SCHEDULER_JOB_NAME | this.getJobName() |
SCHEDULER_JOB_FOLDER | this.getJobName() |
SCHEDULER_JOB_PATH | this.getJobFolder() + / + this.getJobName() |
SCHEDULER_JOB_TITLE | this.getJobTitle() |
SCHEDULER_TASK_ID | spooler_task.id() |
SCHEDULER_SUPERVISOR_HOST | remoteConfigurationService.hostname() |
SCHEDULER_SUPERVISOR_PORT | remoteConfigurationService.tcp_port() |
The names param
and scheduler_param_param
are identically.
The names param_plus_any_understrikes
and
paramplusanyunderstrikes
are identically.