You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Current »

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 Remote Configuration
  • 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:

  • below the Hot Folder (./config/live) because ...
    • changes to the parameters will be taken over by the JobScheduler when external parameter files are located below the ./config/live folder.
  • or below the corresponding remote subfolder of the Master JobScheduler when you have a Remote Configuration architecture because ...
    • changes to the parameters will be taken over by the Slave JobScheduler when external parameter files are located below the ./config/cache folder if you are using Remote Configuration.

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.

  • No labels