Introduction
In order for the master controller (and Forecasting Shell Server) to run properly a several workflows must be scheduled:
- MC:MarkedRecordManager – Removes records marked for deletion. This removes static entries only.
- MC:Synchronisation – Syncronise between several master controllers, only needed on duty standby systems
- MC:RollingBarrel – Removes expired records from the MC database (e.g. timeseries, model states etc)
- RollingBarrel_FSS00 (one for each FSS) – Removes expired records from the FSS database
For each workflow to be scheduled in the Administrator Interface a properties file should be made. Examples are attached to this page.
MC:MarkedRecordManager
Suggested scheduling interval: Every 30 minutes, depending on the needs of the system.
Contents of the workflow
<?xml version="1.0" encoding="UTF-8"?><Blank/>
Contents of the properties
<?xml version="1.0" encoding="UTF-8"?><recorddeletion> <!-- Default configuration tables --> <table name="DefaultActionConfigurations"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="actionId"/> <childtable name="EventActionMappings"> <relationship local="actionId" remote="actionId"/> </childtable> <childtable name="ActionConfigurations"> <relationship local="actionId" remote="actionId"/> </childtable> </table> <table name="DefaultConfigManConfigurations"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="configTypeId"/> <childtable name="ConfigManConfigurations"> <relationship local="configTypeId" remote="ConfigTypeId"/> </childtable> </table> <table name="DefaultCorrelationEventSets"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="eventSetsId"/> <childtable name="CorrelationEventSets"> <relationship local="eventSetsId" remote="eventSetsId"/> </childtable> </table> <table name="DefaultCorrelationTravelTimes"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="travelTimesId"/> <childtable name="CorrelationTravelTimes"> <relationship local="travelTimesId" remote="travelTimesId"/> </childtable> </table> <table name="DefaultDisplayConfigurations"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="configTypeId"/> <childtable name="DisplayConfigurations"> <relationship local="configTypeId" remote="configTypeId"/> </childtable> </table> <table name="DefaultFlagConversions"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="flagConversionId"/> <childtable name="FlagConversions"> <relationship local="flagConversionId" remote="flagConversionId"/> </childtable> </table> <table name="DefaultIdMaps"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="idMapId"/> <childtable name="IdMaps"> <relationship local="idMapId" remote="idMapId"/> </childtable> </table> <table name="DefaultModuleInstanceConfigs"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="moduleInstanceId"/> <childtable name="ModuleInstanceConfigs"> <relationship local="moduleInstanceId" remote="moduleInstanceId"/> </childtable> </table> <table name="DefaultModuleInstanceDatasets"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="moduleInstanceId"/> <childtable name="ModuleInstanceDatasets"> <relationship local="moduleInstanceId" remote="moduleInstanceId"/> </childtable> </table> <table name="DefaultModuleParameters"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="moduleParameterId"/> <childtable name="ModuleParameters"> <relationship local="moduleParameterId" remote="moduleParameterId"/> </childtable> </table> <table name="DefaultRegionConfigurations"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="configTypeId"/> <childtable name="RegionConfigurations"> <relationship local="configTypeId" remote="configTypeId"/> </childtable> </table> <table name="DefaultReportTemplates"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="configTypeId"/> <childtable name="ReportTemplates"> <relationship local="configTypeId" remote="configTypeId"/> </childtable> </table> <table name="DefaultSysReportStyles"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="Id"/> <childtable name="SysReportStyles"> <relationship local="Id" remote="Id"/> </childtable> </table> <table name="DefaultSysReportTemplates"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="Id"/> <childtable name="SysReportTemplates"> <relationship local="Id" remote="Id"/> </childtable> </table> <table name="DefaultSystemConfigurations"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="configTypeId"/> <childtable name="SystemConfigurations"> <relationship local="configTypeId" remote="configTypeId"/> </childtable> </table> <table name="DefaultUnitConversions"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="unitConversionId"/> <childtable name="UnitConversions"> <relationship local="unitConversionId" remote="unitConversionId"/> </childtable> </table> <table name="DefaultWorkflowFiles"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="workflowId"/> <childtable name="WorkflowFiles"> <relationship local="workflowId" remote="workflowId"/> </childtable> <childtable name="WorkflowTargetFsss"> <relationship local="workflowId" remote="workflowId"/> </childtable> <childtable name="Tasks"> <relationship local="workflowId" remote="workflowId"/> </childtable> </table> <!-- Definition of the dependant tables --> <!-- Child table(s) for DefaultActionConfigurations --> <table name="ActionConfigurations"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="actionId"/> <primarykey name="version"/> </table> <table name="EventActionMappings"> <recorddeletiondefaults canberoot="false" recorddeletion="true"/> <primarykey name="eventCode"/> </table> <!-- Child table(s) for DefaultConfigmanConfigurations --> <table name="ConfigManConfigurations"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="configTypeId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultCorrelationEventSets --> <table name="CorrelationEventSets"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="eventSetsId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultCorrelationTravelTimes --> <table name="CorrelationTravelTimes"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="travelTimesId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultDisplayConfigurations --> <table name="DisplayConfigurations"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="configTypeId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultFlagConversions --> <table name="FlagConversions"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="flagConversionId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultIdMaps --> <table name="IdMaps"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="idMapId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultModuleInstanceConfigs --> <table name="ModuleInstanceConfigs"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="moduleInstanceId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultModuleInstanceDatasets --> <table name="ModuleInstanceDatasets"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="moduleInstanceId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultModuleParameters --> <table name="ModuleParameters"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="moduleParameterId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultRegionConfigurations --> <table name="RegionConfigurations"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="configTypeId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultRegionConfigurations --> <table name="ReportTemplates"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="configTypeId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultRegionConfigurations --> <table name="SysReportStyles"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="Id"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultSysReportTemplates --> <table name="SysReportTemplates"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="Id"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultSystemConfigurations --> <table name="SystemConfigurations"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="configTypeId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultUnitConversions --> <table name="UnitConversions"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="unitConversionId"/> <primarykey name="version"/> </table> <!-- Child table(s) for DefaultWorkflowFiles --> <table name="WorkflowFiles"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="workflowId"/> <primarykey name="version"/> </table> <table name="WorkflowTargetFsss"> <recorddeletiondefaults canberoot="false" recorddeletion="true"/> <primarykey name="workflowId"/> <primarykey name="fssId"/> </table> <table name="Tasks"> <recorddeletiondefaults canberoot="false" recorddeletion="true"/> <primarykey name="taskId"/> <childtable name="TaskRuns"> <relationship local="taskId" remote="taskId"/> </childtable> </table> <!-- Child Tables for Tasks table --> <table name="TaskRuns"> <recorddeletiondefaults canberoot="false" recorddeletion="true"/> <primarykey name="taskRunId"/> <childtable name="TaskRunCompletions"> <relationship local="taskRunId" remote="taskRunId"/> </childtable> </table> <!-- Child Tables for TaskRunCompletions table --> <table name="TaskRunCompletions"> <recorddeletiondefaults canberoot="false" recorddeletion="true"/> <primarykey name="taskRunId"/> <childtable name="ArchiveMetadata"> <relationship local="taskRunId" remote="taskRunId"/> </childtable> </table> <!-- Child Tables for ArchiveMetadata table --> <table name="ArchiveMetadata"> <recorddeletiondefaults canberoot="false" recorddeletion="true"/> <primarykey name="taskRunId"/> </table> <!--WhatIfScenarios--> <table name="WhatIfScenarios"> <recorddeletiondefaults canberoot="true" recorddeletion="true"/> <primarykey name="whatIfId"/> <childtable name="Tasks"> <relationship local="whatIfId" remote="whatIfId"/> </childtable> </table> </recorddeletion>
MC:Synchronisation
Suggested scheduling interval: Every 5 minutes, depending on the needs of the system.
Contents of the workflow
<?xml version="1.0" encoding="UTF-8"?><Blank/>
Contents of the properties
MC:RollingBarrel
Suggested scheduling interval: Every 30 minutes, depending on the needs of the system.
Contents of the workflow
<?xml version="1.0" encoding="UTF-8"?><Blank/>
Contents of the properties
<?xml version="1.0" encoding="UTF-8"?><rollingbarrel action="remove,setexpire"> <table name="LogEntries"/> <table name="Reports"/> <table name="TaskRuns"/> <table name="TimeSeries"/> <table name="SystemStatusDigests"/> <table name="Tasks"/> <table name="ThresholdEvents"/> <table name="WarmStates"/> </rollingbarrel>
RollingBarrel_FSS00
Suggested scheduling interval: Every 1440 minutes, depending on the needs of the system.
Contents of the workflow
<?xml version="1.0" encoding="UTF-8"?> <workflow version="1.1" xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/workflow.xsd"> <!--Rolling barrel workflow--> <activity> <runIndependent>true</runIndependent> <moduleInstanceId>RollingBarrel</moduleInstanceId> </activity> <!--Delete records pending deletion--> <activity> <runIndependent>true</runIndependent> <moduleInstanceId>MarkedRecordManager</moduleInstanceId> </activity> </workflow>