File Watching
- The JobScheduler Universal Agent can be used to watch incoming files and to trigger a job start for each file.
- The mechanisms for starting job chains apply as stated in the section about File Watching
- Subsequent jobs can be executed on the JobScheduler Master or on any Agent involved.
- Any number of jobs can be executed in sequence or in parallel for incoming files.
- Incoming files can be removed or moved to a different location
- by any of the jobs involved or
- at the end of processing by a file order sink that is specified with the job chain.
- Should an incoming file be treated by jobs, e.g. parsed or otherwise accessed, then the file has to be transferred to the host on which the respective job is executed.
- Use the JADE JITL Jobs to transfer files between locations with a number of protocols such as FTP, FTPS, SFTP, HTTP, WebDAV etc.
- JADE can be executed on any host and can be configured for JADE Server-to-Server File Transfer.
Configuration
- File watching is configured by the JobScheduler Master. No configuration is required on the JobScheduler Agent.
- The JobScheduler Master holds the configuration of a job chain with a file order source that is assigned to the Agent.
File watching for job execution on the JobScheduler Master
Let's assume the following configuration for a job chain with a file order source:
<?xml version="1.0" encoding="ISO-8859-1"?> <job_chain> <file_order_source remote_scheduler="http://agent_host:4445" directory="/srv/files/in"/> <job_chain_node state="start" job="job1" next_state="continue" error_state="error"/> <job_chain_node state="continue" job="job2" next_state="success" error_state="error"/> <file_order_sink state="success" move_to="/tmp/jobscheduler/file/success" remove="no"/> <file_order_sink state="error" move_to="/tmp/jobscheduler/file/error" remove="no"/> </job_chain>
Explanations
- The
<file_order_source>
is configured as explained for a JobScheduler Master. In addition the attributeremote_scheduler
specifies the protocol, host and port that the JobScheduler Universal Agent is operated for. - Subsequent jobs are executed on the JobScheduler Master
- The
<file_order_sink>
specifies incoming files to be moved to different directories on the JobScheduler Agent host depending on the execution result of the job chain.
File watching for job execution on the JobScheduler Agent
The following configuration applies to a job chain that specifies file watching and job execution on the Agent:
Process Class
<?xml version="1.0" encoding="ISO-8859-1"?> <process_class max_processes="10" remote_scheduler="http://dmzhost:4445"> <remote_schedulers /> </process_class>
Job Chain
<?xml version="1.0" encoding="ISO-8859-1"?> <job_chain process_class="agent_in_dmz"> <file_order_source directory="/srv/files/in"/> <job_chain_node state="start" job="job1" next_state="continue" error_state="error"/> <job_chain_node state="continue" job="job2" next_state="success" error_state="error"/> <file_order_sink state="success" move_to="/tmp/jobscheduler/file/success" remove="no"/> <file_order_sink state="error" move_to="/tmp/jobscheduler/file/error" remove="no"/> </job_chain>
Explanations
- A process class is configured in a separate file, e.g.
agent_in_dmz.process_class.xml,
as stated with the above sample. The process class specifies the protocol, host and port that the Agent is operated for. - The job chain references the above process class that causes the subsequent configuration for file order sources and jobs to be applied to the respective JobScheduler Agent.
- The
<file_order_source>
is configured as explained for a JobScheduler Master and applies to the JobScheduler Agent. - Subsequent jobs are executed on the JobScheduler Agent.
- The
<file_order_sink>
specifies incoming files to be moved to different directories on the JobScheduler Agent host depending on the execution result of the job chain. - For more detailed explanations see - JS-1301Getting issue details... STATUS