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

Compare with Current View Page History

« Previous Version 10 Next »

Introduction

In order for the master controller (and Forecasting Shell Server) to run properly a several workflows must be scheduled. These workflows make sure the database does not overflow (they run the rolling barrel) and that configuration marked to be removed using the Configuration Manager actually gets deleted. In addition, each FSS must also run an rolling barrel task, usually once a day. This task run the rolling barrel and deleted configuration marked fro deletion.

  • 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.

Scheduling the workflows using the Administrator Interface (AI)

First each workflow must be uploaded. For each the MC workflows this is the same dummy workflow. In the AI go to the Workflows and FSSs -> Workflow menu and choose upload new workflow.

Next you should choose the file to be uploaded; the dummy workflow in the case of the MC workflows. Please ignore the warning about the Configuration management tool:

After uploading each workflow should be assigned to run on the Master Controller. This is done by using the Workflows and FSSs -> Workflow FSS Mappings menu. Each MC workflow should be assigned to the synchroniser as shown in the example below:

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

<?xml version="1.0" encoding="UTF-8"?><synchronisation>
   <synchparams>
      <remotemcid name="EANEMC01"/>
      <synchid id="MainMcSynch"/>
   </synchparams>
   <recordtype type="WorkflowFiles"/>
   <recordtype type="DefaultWorkflowFiles"/>
   <recordtype type="SystemConfigurations"/>
   <recordtype type="DefaultSystemConfigurations"/>
   <recordtype type="ModuleInstanceConfigs"/>
   <recordtype type="DefaultModuleInstanceConfigs"/>
   <recordtype type="ModuleInstanceDatasets"/>
   <recordtype type="DefaultModuleInstanceDatasets"/>
   <recordtype type="SysReportTemplates"/>
   <recordtype type="DefaultSysReportTemplates"/>
   <recordtype type="SysReportStyles"/>
   <recordtype type="DefaultSysReportStyles"/>
   <recordtype type="RegionConfigurations"/>
   <recordtype type="DefaultRegionConfigurations"/>
   <recordtype type="DisplayConfigurations"/>
   <recordtype type="DefaultDisplayConfigurations"/>
   <recordtype type="FlagConversions"/>
   <recordtype type="DefaultFlagConversions"/>
   <recordtype type="IdMaps"/>
   <recordtype type="DefaultIdMaps"/>
   <recordtype type="UnitConversions"/>
   <recordtype type="DefaultUnitConversions"/>
   <recordtype type="ReportTemplates"/>
   <recordtype type="DefaultReportTemplates"/>
   <recordtype type="ConfigManConfigurations"/>
   <recordtype type="DefaultConfigManConfigurations"/>
   <recordtype type="CorrelationEventSets"/>
   <recordtype type="DefaultCorrelationEventSets"/>
   <recordtype type="CorrelationTravelTimes"/>
   <recordtype type="DefaultCorrelationTravelTimes"/>
   <recordtype type="ModuleParameters"/>
   <recordtype type="DefaultModuleParameters"/>
   <recordtype type="WhatIfScenarios"/>
   <recordtype type="Tasks"/>
   <recordtype type="TaskRuns"/>
   <recordtype type="FewsSessions"/>
   <recordtype type="MCCpts"/>
   <recordtype type="LogEntries"/>
   <recordtype type="ModuleInstanceRuns"/>
   <recordtype type="TaskRunCompletions"/>
   <recordtype type="ArchiveMetadata"/>
   <recordtype type="CurrentModuleInstanceRuns"/>
   <recordtype type="Reports"/>
   <recordtype type="WarmStates"/>
   <recordtype type="ColdStates"/>
   <recordtype type="RecordsPendingDeletion"/>
   <recordtype type="TimeSeries">
      <modifier>
         <synchlevel level="0"/>
         <synchlevel level="1"/>
         <synchlevel level="2"/>
         <synchlevel level="3"/>
         <synchlevel level="4"/>
         <synchlevel level="5"/>
         <synchlevel level="6"/>
         <synchlevel level="7"/>
      </modifier>
   </recordtype>
   <recordtype type="ThresholdEvents"/>
</synchronisation>

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>

Contents of the properties

<?xml version="1.0" encoding="UTF-8"?>
<taskProperties xmlns="http://www.wldelft.nl/fews"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.wldelft.nl/fews
HTTP://nffs.wldelft.nl/schemas/taskProperties.xsd">
<description/>
<workflowId>RollingBarrel_FSS00</workflowId>
<taskSelection>
<singleTask>
<time0>2004-08-09T14:00:00.000Z</time0>
</singleTask>
</taskSelection>
<forecastPriority>Normal</forecastPriority>
<makeForcastCurrent>false</makeForcastCurrent>
<makeStateCurrent>false</makeStateCurrent>
</taskProperties>
  • No labels