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

Compare with Current View Page History

« Previous Version 10 Next »

JobScheduler can monitor file creation, file change and timestamp change with a (standalone) job. This job can then start a job chain or job group.

An example how to configure a "file-watcher":

<job name = "scheduler_file_notification_1">
<script language="shell">
<![CDATA[
                set
                echo %SCHEDULER_JOB_NAME%
                echo %SCHEDULER_TASK_TRIGGER_FILES%
                rem del %SCHEDULER_TASK_TRIGGER_FILES%
            ]]>
</script>
<start_when_directory_changed directory = "c:/temp" regex = "^file[1|2]\.xml$"/>
</job>

This job will watch the folder c:/temp on a Windows system. With the regular expression one can define, what file(s) has JS to watch. In this example the regex means, that every event regarding the files file1.xml and/or file2.xml will fire the execution of the embedded script (in this case it will echo some values for JS-Environment Variables to stdout).

Every changes of files in the folder c:/temp which are matched by the filter ^file1\.xml$ starts a task of the job.
The environment variable SCHEDULER_TASK_TRIGGER_FILES contains all filtered files of the folder c:/temp in a semicolon separated list which are exist at the time where the task is started.
It doesn't have only the file as value which was changed.

This behaviour could be critical when two files (e.g. file1.xml and file2.xml) are changed at the same time.
Then two tasks of the job will start.
In the first task the environment variable SCHEDULER_TASK_TRIGGER_FILES has the value c:/temp/file1.xml;c:/temp/file2.xml.
In the second task the environment variable SCHEDULER_TASK_TRIGGER_FILES has a value depends on what the first task has done with the files.
If the first task deletes the files for example then SCHEDULER_TASK_TRIGGER_FILES is empty in the second task.

We recommend the Directory Monitoring with File Orders.

  • No labels