Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Scope
- This article explains configuration for the Classic JobScheduler Agent
FEATURE AVAILABILITY ENDING WITH RELEASE 1.10 - For general configuration of the JobScheduler Universal Agent see JobScheduler Universal Agent - Installation & Operation
FEATURE AVAILABILITY STARTING FROM RELEASE 1.10 - For dynamic assignment of JobScheduler Universal Agents to Jobs see:
Jira server SOS JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 6dc67751-9d67-34cd-985b-194a8cdc9602 key JS-1189
- Consider the How to split and sync a dynamic number of job instances for execution with Agents article.
Process Classes for use with JobScheduler Agents
- We assume that we have a job in a job chain to be executed on a JobScheduler Agent.
- This requires a process_class that is assigned to the job.
- Please read How to configure a JobScheduler Master and Agent to work together to know how you create the process class for a JobScheduler Agent and how you assign it to a job.
...
Create the following job, e.g. setAgent, and add it to the job chain as the forerunner of the JobScheduler Agent job.
This job modifies the process_class setting of the successor job in the job chain according to the order parameters agent_host_ and _agent_port:
Code Block language html/xml <?xml version="1.0" encoding="ISO-8859-1"?> <job order="yes" stop_on_error="no"> <params /> <script language="java:javascript"><![CDATA[ function spooler_process() { var curOrder = spooler_task.order; var agentHost = curOrder.params.value('agent_host'); var agentPort = curOrder.params.value('agent_port'); var nextJob = curOrder.job_chain_node.next_node.job; spooler_log.info("Params agentHost:agentPort = "+agentHost+":"+agentPort); spooler_log.info("before: "+nextJob.process_class.remote_scheduler); nextJob.process_class.remote_scheduler = agentHost+":"+agentPort; spooler_log.info("after: "+nextJob.process_class.remote_scheduler); return true; } ]]></script> <run_time /> </job>
...
Add an order to the job chain jobChainWithAgentJob for each JobScheduler Agent.
For example, one JobScheduler Agent runs on HostA with port 4444 and another JobScheduler Agent runs on HostB with port 4444. The order has to be assigned the parameters agent_host_ and _agent_port.
This should result in the order configuration files ./config/live/jobChainWithAgentJob,hostA-4444.order.xml and ./config/live/jobChainWithAgentJob,hostB-4444.order.xml:Code Block language html/xml <?xml version="1.0" encoding="ISO-8859-1"?> <order> <params > <!-- for use with JobScheduler releases before 1.10 <param name="agent_host" value="HostA"/> --> <!-- for use with JobScheduler releases starting with 1.10 --> <param name="agent_host" value="http://HostA"/> <param name="agent_port" value="4444"/> </params> <run_time/> </order>
Code Block language html/xml <?xml version="1.0" encoding="ISO-8859-1"?> <order> <params > <!-- for use with JobScheduler releases before 1.10 <param name="agent_host" value="HostB"/> --> <!-- for use with JobScheduler releases starting with 1.10 --> <param name="agent_host" value="http://HostB"/> <param name="agent_port" value="4444"/> </params> <run_time/> </order>