scrollbar |
---|
Excerpt | ||
---|---|---|
| ||
Logs mesage with event code when file or url content is updated |
Function: | Logs mesage with event code when file or url content is updated |
---|
Module Name: | ContentUpdateChecker |
---|---|
Where to Use? | In a workflow |
Why to Use? | To check file or url content is updated so a new task can be run |
Description: | The ContentUpdateChecker is a module that can be used at the start of a workflow to see if new data is available so other tasks can be run. |
Preconditions: | File or url should return plain text from which the first line dynamically changes |
Outcome(s): | Log message with event code and content when new content is found, debug message when no new content is found |
Scheendump(s): |
Remark(s): |
---|
Available: | 2013.01, 2014.01 and onwards |
---|
Contents
Table of Contents |
---|
Overview
The ContentUpdateChecker is a module that can be used at the start of a workflow to see if new content is available from either a file or url. If so a log message with event code + the new content is logged, a debug message is logged when no new content is found. In case an empty file is found, the last modification date will be used as content in date format: 'yyyyMMddHHmmss'.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8"?> <contentUpdateChecker xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews httphttps://fewsfewsdocs.wldelftdeltares.nl/schemas/version1.0/contentUpdateChecker.xsd"> <url>http<url>https://matroos.deltares.nl/direct/get_anal_times.php?database=maps&source=knmi_h11_v72&most_recent=1</url> <user>gebruiker<<user>dummy_username</user> <password>wachtwoord<<password>dummy_password</password> <eventCode>HirlamMeteo.NewData</eventCode> <messagePrefix> New data for hirlam meteo for T0: </messagePrefix> <interval unit="second"/> <timeout unit="minute"/> <stopAfterNewContent>true</stopAfterNewContent> <contentIgnorePattern>Exact</contentIgnorePattern> <contentIgnorePattern>*ends</contentIgnorePattern> <contentIgnorePattern>Begins*</contentIgnorePattern> <contentIgnorePattern>*contains*</contentIgnorePattern> </contentUpdateChecker> |
The URL can be protected by authentication, the parser can supply username and password configured in the import together with the base URL (escape & in xml by using & ):
No Format |
---|
<url>https://matroos.deltares.nl/direct/get_anal_times.php?database=maps&source=knmi_h11_v72&most_recent=1</serverUrl>
<user>dummy_username</user>
<password>dummy_password</password>
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8"?> <contentUpdateChecker xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews httphttps://fewsfewsdocs.wldelftdeltares.nl/schemas/version1.0/contentUpdateChecker.xsd"> <file>$IMPORT_FOLDER$/KNMI_UKMO_MAPS/done</file> <eventCode>HirlamMeteo.NewData</eventCode> <messagePrefix> New data for hirlam meteo for T0: </messagePrefix> <interval unit="second"/> <timeout unit="minute"/> <stopAfterNewContent>true</stopAfterNewContent> <contentIgnorePattern>Exact</contentIgnorePattern> <contentIgnorePattern>*ends</contentIgnorePattern> <contentIgnorePattern>Begins*</contentIgnorePattern> <contentIgnorePattern>*contains*</contentIgnorePattern> </contentUpdateChecker> |
Optional elements
<interval unit="second"/>
Amount of time to wait between checks for new content, when absent content will checked continuously.
<timeout unit="minute"/>
Total amount of time there must be checked and rechecked for new content, when absent it will do no rechecking which means only once.
<stopAfterNewContent>true</stopAfterNewContent>
This option makes sure there will not be checked for newer content after new content is found.
<contentIgnorePattern>Exact</contentIgnorePattern>
Pattern which determines whether content should be ignored as new. * can be used as wildcard.
*XXX means ends with XXX
XXX* means starts with XXX
*XXX* means contains XXX
when no * is present the content should match exactly in order to be ignored.
Sample input and output
A url returning a timestamp as plain text a timestamp of most recent available data in format yyyyMMddHHmm, will result in the following logging (including debug).
When the event code has not been logged before:
...
11-07-2014 09:51:50 DEBUG - No logging of event code HirlamMeteo.NewData because data still equals: 201407110600
11-07-2014 09:51:49 DEBUG - No logging of event code HirlamMeteo.NewData because data still equals: 201407110600
11-07-2014 09:51:48 DEBUG - Most recent content in database: 201407110600 for event code: HirlamMeteo.NewData
Technical reference
Entry in moduleDescriptors:
nl.wldelft.fews.system.plugin.contentupdatechecker.ContentUpdateChecker
Link to schema: |
---|