File System Triggers
A file-system trigger starts a job when a change is detected in a file or folder (e.g., a new file has been added). Note that deleted files cannot be monitored. You can configure the directory polling interval (e.g., every 60 seconds) and optionally set the start and expiry date of the trigger. You can also use wildcards to filter files in a directory. The screenshot below illustrates a sample file-system trigger.
The parameters of a file-system trigger are described below.
Check | Specifies changes to track. Irrespective of the check option you select, when you add a new trigger and save the job, all existing files in the specified directory will be considered modified, and the job will be executed.
The possible check options are listed below:
•Newly created: The trigger fires whenever a file is added or renamed. In terms of server load, this option requires the least server resources.
•Modified Date: The trigger fires if a file's timestamp has changed or if a file has been added or renamed. This option takes slightly more resources from the server than the previous one.
•Content: The trigger fires if the content of a file changes or if a file has been added or renamed. Note that this option can place a considerable load on the server, because the content is computed to a hash code each time the directory is polled.
|
Of file or directory | This is the path in which you would like to track changes. Note that only files in the specified directory are checked. You can also use wildcards to target only the files that match a particular pattern. For example, the path C:\Project\A* will cause FlowForce to check all the files starting with A that are located in the Project folder.
|
Polling interval | Specifies the frequency (in seconds) with which the directory will be polled. The default value is 60 seconds. The minimum value is 1 second.
|
If a change has been detected during the polling period, the server will wait for N seconds (the settle period) before checking the specified file/directory for further changes. If there have been no further changes during the settle period, the job will start. Otherwise, the server will wait again for the specified settle period and then check again if any changes have occurred since the last check.
This option allows FlowForce Server to wait until a file has been fully written and only then trigger the job.
|
Start | Defines the trigger's start date and time. When you click in the date field, a pop-up calendar opens, which allows you to select the start date. You can also type in the date manually.
The value of the Time field must be in HH:MM:SS or HH:MM format.
|
Expires | Defines the date and time when the trigger expires. When you click in the date field, a pop-up calendar opens, which allows you to select the expiry date. You can also type in the date manually.
The value of the Time field must be in HH:MM:SS or HH:MM format.
|
Time zone | Defines the time zone of the start and expiry date and time. The default time zone is defined in the server administration settings.
|
Priority (Advanced Edition) | In FlowForce Server Advanced Edition, you can assign priority to jobs in a queue. Priority is estimated based on all the jobs assigned to the queue. Priority can be low, below normal, normal, above normal, or high. The default priority is normal. You can set priority for any trigger type. If your job has multiple triggers configured, you can select different priority values for them, if necessary.
Global queues Setting trigger priority is particularly relevant to global queues, because you can decide which jobs are more important in a queue and should be fired first. In most cases, a job will have only one trigger. A job whose trigger has a higher priority and whose trigger conditions have been met will fire first.
Assuming there are several jobs in a global queue, and each job has several triggers of different priority, FlowForce will first check the triggers of higher priority. If the triggers' conditions are not fulfilled, FlowForce Server will then go on to check the triggers of lower priority. For a job with several triggers, it would make more sense to set the same priority value for all of them (e.g., high priority if the job is more important than others in the queue).
Local queues A local queue processes instances of one and the same job. If there is only one trigger configured, the priority value will be ignored. If there are several triggers of different priority, the triggers will compete with each other. For example, a job has a timer and a file-system trigger. The timer has a lower priority, whereas the file-system trigger has a higher priority. If the timer's condition has been fulfilled, and if there are no files to process, the timer will start the job earlier than the second trigger. However, if there are multiple files to process, the timer will wait, and the file-system trigger will be given priority.
|
Enabled | The Enabled check box allows you to activate and deactivate the trigger.
|