...
In the sample below there are two different approaches described how you can start jobs on a file event.
Using a file order source
See also Documentation
The job chain "job_chain_file_order_source" has a file order source watching for files in c:\temp\input with the file name extension ".txt". When a file arrives, an order for the job chain will be created. The file will be erased removed at the end of the job chain by the file sink node(s).
- Orders can not have additional parameters.
- Order processing starts when the file is detected, not after the file is completely written
...
- .
...
Using JITL Job JobSchedulerExistsFile
See also Documentation
No Format |
---|
<mscgen>
//file_order_event
msc {
width="900";
JobScheduler [label="JobScheduler", textcolour="navy", arctextcolour="navy"],
JobChainPoll [label="JobChain Polling", textcolour="orange", arctextcolour="orange"],
OrderPoll [label="Order for Pollling", textcolour="brown", arctextcolour="brown"],
FileSystem [label="File System", textcolour="maroon", arctextcolour="maroon"],
JobChainProcessing [label="JobChain Processing", textcolour="orange", arctextcolour="orange"],
OrderProcessing [label="Order for Processing", textcolour="brown", arctextcolour="brown"];
JobScheduler => JobChainPoll [ label = "(1) start order for file watching" ];
JobScheduler .. FileSystem [ label = "waiting for files " ];
OrderPoll => FileSystem [ label = "(2) polling" ];
FileSystem => OrderPoll [ label = "(3) file arrived" ];
OrderPoll => JobChainProcessing [ label = "(4) create order for processing" ];
OrderProcessing => OrderProcessing [ label = "(5) check for ready state" ];
OrderProcessing => JobChainProcessing [ label = "(6) start node" ];
OrderProcessing => JobChainProcessing [ label = "(7) start next node(s)" ];
OrderProcessing => JobChainProcessing [ label = "(8) end jobChain" ];
OrderProcessing => JobChainProcessing [ label = "(9) process file sink" ];
JobChainProcessing => FileSystem [ label = "(10) delete/move file" ];
JobScheduler .. FileSystem [ label = "repeat waiting for files " ];
OrderPoll => FileSystem [ label = "(11) polling" ];
}
</mscgen>
|
The job chain the job chain "job_chain_file_order_source_poll" uses the job JobSchedulerExistsFile to check, wether whether a file is in c:\temp\input ending with .pdf. If so, for each file found, an order will be created for the job chain job_chain_file_order_source. The file will be erased removed by the sinks in the executed job chain.
- The created order have has the same parameters as the polling order
- The first step in the executed job chain checks, wether whether the file is completly written.
Please note, that you can mix file_order_source and JobSchedulerExistsFile by using JobSchedulerExistsFile in the first node to check, whether the file is has been completly written.