Question
I would like to use variable path names when configuring a job chain. For example, to make the following job chain easier to use, I would like to neutralise the default local path:
<?xml version="1.0" encoding="ISO-8859-1"?> <job_chain orders_recoverable="yes" visible="yes" title="com-ems-web-export" max_orders="1"> <file_order_source directory="C:/Windows/Temp/orders/start" regex="\.jobstart.xml$" max="1"/> <job_chain_node state="step_1" job="/test/step_1_job" next_state="step_2" error_state="error"/> <job_chain_node state="step_2" job="/test/step_2_job" next_state="step_3" error_state="error"/> <job_chain_node state="step_3" job="/test/step_3_job" next_state="step_4" error_state="error"/> <job_chain_node state="step_4" job="/test/step_4_job" next_state="success" error_state="error"/> <file_order_sink state="error" move_to=":/Windows/Temp/orders/error"/> <file_order_sink state="success" move_to="/test/orders/success"/> </job_chain>
Answer
You can achieve this using environment variables.
For example:
<?xml version="1.0" encoding="ISO-8859-1"?> <job_chain orders_recoverable="yes" visible="yes" title="VariableFileOrderSource" name="VariableFileOrderSource" max_orders="1"> <file_order_source directory="${temp}/orders/start" regex="\.jobstart.xml$" max="1"/> <job_chain_node state="step_1" job="/test/step_1_job" next_state="step_2" error_state="error"/> <job_chain_node state="step_2" job="/test/step_2_job" next_state="step_3" error_state="error"/> <job_chain_node state="step_3" job="/test/step_3_job" next_state="step_4" error_state="error"/> <job_chain_node state="step_4" job="/test/step_4_job" next_state="success" error_state="error"/> <file_order_sink state="error" move_to="${temp}/orders/error"/> <file_order_sink state="success" move_to="${temp}/orders/success"/> </job_chain>
JobScheduler recognises these variables from the ${....
} and replaces them. Note that they must have been defined in the environment before or when JobScheduler is started.
See also:
- Directory Monitoring with File Orders (JobScheduler Reference manual)