Skip to end of metadata
Go to start of metadata

You can use external files to store job or order parameters.
This has the following advantages:

  • Parameters can be stored centrally and then used in more than one job or order.
  • Parameters of external files cannot be displayed in JOC using show configuration. Such files can then be used, for example, to store sensitive data.

External files are specfied in the JobnScheduler Object Editor JOE using the "Parameter Includes" Tab. The following screen shot shows the parameters being specified for a job but the approach for an order is identical:

The above example generates the following configuration:

 <?xml version="1.0" encoding="iso-8859-1"?>
 <job>
   <params>
     <include live_file="my_parameter_file.xml" node=""/>
   </params>
   ...
 </job>
  • The job expects the parameter file in the same folder where the job is stored when using <include live_file="my_parameter_file.xml" node=""/> (from Hot Folder flag in JOE is on)
  • The job expects the parameter file in ./config/live/params when using <include live_file="/params/my_parameter_file.xml" node=""/> (from Hot Folder flag in JOE is on)
  • The job expects the parameter file in ./config/cache/params when using <include live_file="/params/my_parameter_file.xml" node=""/> (from Hot Folder flag in JOE is on) and you use a How to implement Central Configuration with a Supervisor JobScheduler
  • The job expects the parameter file in ./config/params when using <include file="config/params/my_parameter_file.xml" node=""/> (from Hot Folder flag in JOE is off)

See http://www.sos-berlin.com/doc/en/scheduler.doc/xml/include.xml for more information.

A typical parameter file would look like:

 <?xml version="1.0" encoding="iso-8859-1"?>
 <params>
   <param name="param1" value="value1"/>
   <param name="param2" value="value2"/>
   <param name="param3" value="value3"/>
   <param name="param4" value="value4"/>
 </params>

In this case you do not have to specifiy the node attribute.

You can also use a different structure.
In particular you can have multiple parameter sets:

 <?xml version="1.0" encoding="iso-8859-1"?>
 <database_connections>
   <database_connection id="myConnection1">
     <param name="host" value="myHost"/>
     <param name="port" value="myPort"/>
     <param name="user" value="myUser"/>
     <param name="password" value="myPassword"/>
   </database_connection>
   <database_connection id="myConnection2">
     <param name="host" value="otherHost"/>
     <param name="port" value="otherPort"/>
     <param name="user" value="otherUser"/>
     <param name="password" value="otherPassword"/>
   </database_connection>
 </database_connections>

In this case you must specify the node attribute with an Xpath expression.
If a job needs the parameters from myConnection1 then use e.g. //database_connection@id='myConnection1'/param.

It is recommended that you use the from Hot Folder flag in JOE and store the external parameter file either:

Changes to external parameter files located outside the Hot Folder (./config/live or ./config/cache resp.) will not be taken over by JobScheduler unless the job or order is changed or JobScheduler restarted.

Write a comment…