Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
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
<mscgen>
msc {
No Format |
---|
width1. "800";
|
...
- .
...
...
No Format |
---|
JobScheduler [labeh1. "JobScheduler", textcolour"navy", arctextcolouh1. "navy"],
Order [label"FileOrder", textcolouh1. "brown", arctextcolour"brown"],
|
JobChain labeh1. "JobChain", textcolour"orange", arctextcolouh1. "orange";
No Format |
---|
JobScheduler> FileSystem [labelh1. "(1) start file watching"];
FileSystem .. JobChain [label "waiting for files "];
|
FileSystemh1. > JobScheduler label "(2) file arrived";
No Format |
---|
JobSchedulerh1. > Order [label "(3) start order processing"];
Orderh1. > JobChain [label "(4) start node"];
JobChainh1. > JobChain [label "(5) start next node(s)"];
JobChainh1. > Order [label "(6) end jobChain"];
Orderh1. > JobScheduler [label "(7) process file sink"];
JobSchedulerh1. > FileSystem [label "(8) delete/move file"];
FileSystem .. JobChain [labelh1. "repeat waiting for files "];
|
}
</mscgen>
Using JITL Job JobSchedulerExistsFile
See also Documentation
<mscgen>
msc {
No Format |
---|
width"800";
|
FileSystem labeh1. "File System", textcolour"maroon", arctextcolouh1. "maroon",
No Format |
---|
JobScheduler [label"JobScheduler", textcolouh1. "navy", arctextcolour"navy"],
Order [labeh1. "Order for Pollling", textcolour"brown", arctextcolouh1. "brown"],
|
JobChain label"JobChain", textcolouh1. "orange", arctextcolour"orange";
No Format |
---|
JobSchedulerh1. > FileSystem [label "(1) start file watching"];
FileSystem .. JobChain [labelh1. "waiting for files "];
|
FileSystem> JobScheduler labelh1. "(2) file arrived";
No Format |
---|
JobScheduler> Order [labelh1. "(3) start order processing"];
Order> JobChain [labelh1. "(4) start node"];
JobChain> JobChain [labelh1. "(5) start next node(s)"];
JobChain> Order [labelh1. "(6) end jobChain"];
Order> JobScheduler [labelh1. "(7) process file sink"];
JobScheduler> FileSystem [labelh1. "(8) delete/move file"];
FileSystem .. JobChain [label "repeat waiting for files "];
|
}
</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.