Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

GET taskrunstatus (2017.02)

Track the status of a workflow using the taskRunId.

Request parameters

  • taskId (string, required): task Id of a workflow.
  • maxWaitMillis (integer) time in milliseconds to wait for response

  • documentVersion (string, 1.9 or up): Since 2022.02. File format version (optional). For example: 1.29
  • documentFormat (string): PI_JSON. Since 2022.02. If not specified, plain text is assumed.

Response

Status of the workflow task. Possible response codes are:

  • I = Invalid,
  • P = Pending,
  • T = Terminated,
  • R = running,
  • F = Failed,
  • C = Completed fully successful,
  • D = Completed partly successful,
  • A = Approved,
  • B = Approved partly successful
  • null= No status available (produces when method call times-out)

Example request

Code Block
curl "localhost:8080/FewsWebServices/rest/fewspiservice/v1/taskrunstatus?taskId=1_0"

Example response

Code Block
C


Since 2022.02 the taskrun status response supports PI_JSON as well. Since 2024.01 the taskRunId is available as well. For example:

Code Block
{
  "version" : "1.29",
  "code" : "C",
  "description" : "Completed fully successful",
  "taskRunId" : "1234"
}



POST runtask (2017.02)

Runs a workflow task for a given workflowId. Returns a handle to the task in the form of a taskid. This taskId can be used to track the status of the workflow using the taskrunstatus method. Since 2018.02 it is possible to use a workflow descriptor attribute: waitWhenAlreadyRunning. This will allow running a task that hasn't been scheduled to wait when another task of that workflow is already running. 

Request parameters

  • workflowId (string, required): Identifier of the task to run
  • startTime (dateTime: yyyy-MM-ddTHH:mm:ssZ): Start of run period. Used for state selection period.
  • timeZero (dateTime: yyyy-MM-ddTHH:mm:ssZ): Forecast time zero. If missing System time is used (optional)
  • endTime (dateTime: yyyy-MM-ddTHH:mm:ssZ): End of run period. Used to define forecast length.
  • coldStateId (string): Id of a coldstate. Can be used to force state selection (optional).
  • scenarioId (string): Id of a predefined WhatIf scenario. Can be used to alter run parameters (optional).
  • userId (string) User id of the user that runs the task.
  • description (string): Descriptive text to identify run.
  • runOption (string, optional, since 2022.02): Run option can be any of: all, alloneatatime or allmostrecentonly. If not set, the default is used: all.
    1. all: Multiple instances of this workflow can run simultaneously.
    2. alloneatatime: Running (and queued) instances of this workflow prevail.
    3. allmostrecentonly: A running instance of this workflow prevails. Queued instances of this workflow will be replaced by a recent one. 
  • optional: Since 2022.02 properties can be included in the url. These will be used as taskRunProperties, and override global or workflow properties. Each property has to be aded to the url seperately.
    Example:
    &property(fileName)=exportFile&property(outputValue)=9.0
    Where the name of the property is fileName, the value is exportFile. The name of the second property is outputValue, the value is 9.0.
  • optional since 2023.02: (boolean) runLocallyAndPromoteToServer. Default is false. If it's set to true, the task will be run locally first, and if the run is succesful, it will be promoted to the server.

Body parameters

  • piModelParametersXmlContent (pi XML url encoded): Contents of a Pi ModelParameters XML file. PI ModelParameters can be exported by the General Adapter to provide information to external models being run by FEWS. The xml file content has to be encoded in the 'application/x-www-form-urlencoded Content-Type.

Response

  • taskId String with the identifier of the task that is run.

Example request

Code Block
curl "http://localhost:8080/FewsWebServices/rest/fewspiservice/v1/runtask/?workflowId=ImportObserved&startTime=2014-01-01T00:00:00Z+0000&timeZero=2014-01-01T00:00:00Z+0000&endTime=2014-01-01T00:30:00Z+0000&property(fileName)=exportFile&property(outputValue)=9.0" -X POST -H "Content-Type: application/x-www-form-urlencoded"  -d ""

Example response

Code Block
1_0


GET timeseriesmodifiers (2017.02)

Get a list of all timeSeries modifiers

Request parameters

  • locationIds (string):

  • moduleInstanceIds (string):

  • startTime (dateTime: yyyy-MM-ddTHH:mm:ssZ): start time of modifiers search period

  • endTime (dateTime: yyyy-MM-ddTHH:mm:ssZ): end time of modifiers search period.

  • userId (string):

  • modifierTypeId (string):

  • active (boolean, default true):

  • userDefinedModifierDescriptionKeyValuePair (string):

If no startTime and endTime are given, the search period is any time.

Response

  • timeSeriesModifiers PI XML

Example request

Code Block
curl "http://localhost:8080/FewsWebServices/rest/fewspiservice/v1/timeseriesmodifiers"

Example response

Code Block
<?xml version="1.0" encoding="UTF-8"?>
<Modifiers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.wldelft.nl/fews/PI" xsi:schemaLocation="http://www.wldelft.nl/fews/PI http://fews.wldelft.nl/schemas/version1.0/pi-schemas/pi_modifiers.xsd">
    <modifier>
        <name>T.obs.mean_DE BILT</name>
        <modifierId>0</modifierId>
        <systemActivityDescriptorId>34</systemActivityDescriptorId>
        <enabled>true</enabled>
        <modifierType>MISSING_VALUE_MODIFIER</modifierType>
        <userId>Andre Grijze</userId>
        <startTime date="1900-10-17" time="00:00:00"/>
        <endTime date="2017-11-23" time="00:00:00"/>
        <validTime date="3000-01-01" time="00:00:00"/>
        <creationTime date="2017-10-24" time="11:43:11"/>
        <constantValueTimeSeriesModifier>
            <timeSeriesSet>
                <moduleInstanceId>ImportObserved</moduleInstanceId>
                <parameterId>T.obs.mean</parameterId>
                <locationId>63306260000</locationId>
                <timeSeriesType>external historical</timeSeriesType>
                <timeStep unit="nonequidistant"/>
                <ensembleId>main</ensembleId>
            </timeSeriesSet>
            <startTime date="1900-10-17" time="00:00:00"/>
            <endTime date="2017-11-23" time="00:00:00"/>
            <value>NaN</value>
        </constantValueTimeSeriesModifier>
    </modifier>
</Modifiers>



...