LogoLogo
Home
Core Platform
Core Platform
  • Introduction
    • Overview
    • Use Cases
    • Architecture
    • Built with ML & AI
    • Quick Start
  • Examples
    • Training Examples
      • API Flow Examples
      • Microservice Examples
      • UI Example
      • Exercise: Hello World API
      • Exercise: Test State
      • Exercise: Test UI
    • Exercise: To-do List
      • To-do List Runner
      • To-do List Gateway
      • To-do List UI
      • To-do List Query
  • Troubleshooting
    • Rierino Packages
    • Release Notes
    • Useful Checks
    • Error Codes
  • Devops
    • Overview
    • API Flows
      • Using the Saga Screen
      • Defining a Saga
      • Configuring Saga Steps
        • Event Step
        • Transform Step
          • Transform Classes
        • Condition Step
          • Condition Classes
        • Step Link
      • Injecting Variables
    • Microservices
      • Runners
        • Using the Runner Screen
        • Defining a Runner
        • Managing Runner Settings
        • Adding Runner Elements
        • Deploying Runners
          • Spring Runners
          • Samza Runners
          • Camel Runners
      • Elements
        • Systems
        • State Managers
          • Typical Use Cases
          • State Data Structure
          • Local States
            • In-Memory Map
            • Caffeine Cache
            • Samza Based
            • Lucene Based
            • Single File
            • Multiple Files
            • Selected IDs Map
            • Indexed Map
          • Shared States
            • MongoDB Collection
            • Jooq (SQL) Table
            • Redis Map
            • Couchbase Collection
            • Elasticsearch Index
            • Elasticsearch Joined
            • Etcd Namespace
          • Specialized States
            • CRUD Service
            • Odata Service
          • State Coordinators
            • Lazy Cache Coordinator
            • Event Store Coordinator
            • Write thru Coordinator
          • Loading Strategies
          • ID Generators
        • Listeners
        • Query Managers
          • MongoDB
          • Elasticsearch
          • Lucene
          • SQL Based
          • Odata Service
        • Handlers
          • Core Handlers
            • Write Data
            • Read Data
            • Query Data
            • Apply Rules
            • Call Rest API
            • Generate Text/Html
            • Parse Html
            • Generate Secrets
            • Orchestrate User Task
            • Perform File Operation
            • Run Shell Command
            • Send/Receive Emails
          • Custom Code Handlers
            • Run Scripts
            • Run Java Code
            • Run Java Package
          • Flow Handlers
            • Orchestrate Saga
            • Loop Each Entry
            • Run Multiple Steps
            • Buffer Payloads
            • Merge Parallel Steps
            • Log Event
            • Send Event
            • Validate Event
            • Transform Event
            • Perform DB Transaction
            • Trigger Runner Command
            • Do Nothing
            • Modify Role Data
            • Enrich Role Data
            • Convert Pulse to Journal
          • Gateway Handlers
            • Authenticate
              • No Authentication
              • State Based
              • Keycloak Based
            • Sessionize
          • Specialized Handlers
            • Apply Advanced Rules
            • Calculate Real-time Metrics
            • Score ML Models
            • Score LangChain Models
            • Service MCP Requests
            • Service A2A Requests
            • Consume Web of Things
            • Perform Text Embedding
            • Run Python Procedure
            • Generate Excel
            • Generate PDF
            • Call SOAP API
            • Integrate with Camel
        • Actions
        • Streams
          • Kafka Topic
          • CDC Feed
          • Camel Component
        • Roles
        • Generic Settings
        • Global Settings
      • Deployments
        • Defining a Deployment
        • Alternative Loaders
    • Gateway & Security
      • Gateway Servers
        • Gateway Systems
        • Gateway Channels
        • Gateway Services
        • Gateway Tokens
      • APIs
        • OpenAPI Specification
        • Response Formats
    • Administration
      • Managing Deployments
      • Sending Commands
      • Streaming Messages
      • Migrating Assets
    • Batch Tasks
      • Python Processes
      • Python Iterators
      • Python Processors
    • Pro-Code
      • Custom Handlers
      • Custom State Managers
      • Custom Query Managers
      • Custom CDC Managers
  • Design
    • Overview
    • User Interface
      • Apps
      • UIs
        • Listers
        • Widgets
          • Value Widgets
          • Array Widgets
          • Object Widgets
          • Indirect Widgets
          • Atom Widgets
        • Menus
          • Lister Menu Actions
          • Selection Menu Actions
          • Editor Menu Actions
          • Widget Menu Actions
          • Custom Menu Actions
          • RAI Menu Actions
        • Extended Scope
          • Conditional Display
          • Data Context
          • Extra Data
          • Default Item
          • Extra Events
      • Options
      • Translations
      • Icons
      • Styles
      • Components
    • API Mapping
    • Data Schema
      • Common Data
  • Configuration
    • Overview
    • Queries
      • Query Types
      • Query Platforms
        • MongoDB Queries
        • Odata Queries
        • SQL Queries
        • Elasticsearch Queries
        • Lucene Queries
        • Siddhi Queries
    • Business Rules
      • Drools Rules
    • Dynamic Handlers
  • Data Science
    • Overview
    • ML Models
      • Scheduler Platforms
        • Airflow Scheduler
    • GenAI Models
    • MCP Servers
    • Complex Event Processing
      • Siddhi Data Flows
    • Data Visualizations
    • Customizations
  • EXTENSIONS
    • JMESPath
    • Handlebars
Powered by GitBook

© Rierino Software Inc. 2025. All rights reserved.

On this page
  • Handler Parameters
  • Actions
  • StartTask
  • ProceedTask
  • TimeoutTask
  • TimeoutBetween
  • Roles
  • proceedTask
  • timeoutTask
  • timeoutBetween
  • Commands
  • TIMEOUT
  • Task Record
  1. Devops
  2. Microservices
  3. Elements
  4. Handlers
  5. Core Handlers

Orchestrate User Task

This handler (com.rierino.handler.TaskEventHandler) provides ability to include human actions and time delays in API calls.

PreviousGenerate SecretsNextPerform File Operation

Last updated 1 year ago

Handler Parameters

Parameter
Definition
Example
Default

task.action

Action to apply on process records on proceed (delete or update)

delete

update

role.domain

State manager for storing role process data

workflow_product

workflow

role.idPath

Json path for process id field in role data

id

processId

role.enrichPath

Json path of role data for enriching process data on proceed

data

-

role.fromTimePath

Json path of role data to be used as 'from time' in timeout calls

fromDT

fromTime

role.toTimePath

Json path of role data to be used as 'to time' in timeout calls

toDT

toTime

timer.onFail

Action to apply if timeout timer fails to process

DLQ

Default action fail

timer.dlq.stream

Name of the DLQ stream if timer fails with DLQ strategy

timer_fail

-

timeout.states

Comma separated list of process states which will be monitored for timeouts

workflow,workflow_product

-

timeoutBuffer

Buffer size for processing timeouts

100

-

timerMs

Milliseconds between each timeout calculations

60000

2000

Actions

StartTask

Records current event as a process entry to proceed after a trigger or timeout after given time. Event metadata fields applicable for this action are as follows:

Field
Definition
Example
Default

domain

Name of the state manager to store process data in

workflow

-

inputElement

Json path for storing data to return on proceeding process

process.data

-

With event metadata parameters as:

Parameter
Definition
Example
Default

inputPattern

JMESPath pattern to apply on data input

{data: process.data}

-

taskIdPath

process.id

taskId

taskName

Descriptive name for the task

Job Post Approval

-

taskSpec

Task specification (i.e. reference name for the process flow)

job_post_approval

-

taskAction

Referential name of the action

Approve

-

timeout

Milliseconds to timeout started process after

60000

-

timeoutOn

Epoch time in ms to timeout started process on

1666765654

-

Example

Input

{
    "parameters": {
        "productId": "product-1",
        "brief": "Image and video creation with summer vibes" 
    }
}

Event Metadata

StartTask action can be followed with an event status condition step in sagas, for escalation of tasks not completed in timeout duration. The "TIMEOUT" condition value can be used for such flows.

ProceedTask

Triggers proceeding of an existing process entry, enriching with stored event data. Event metadata fields applicable for this action are as follows:

Field
Definition
Example
Default

domain

Name of the state manager keeping process data

workflow

-

inputElement

Json path for the input in request event payload

parameters

-

outputElement

Json path for the output in response event payload

process

-

With event metadata parameters as:

Parameter
Definition
Example
Default

inputPattern

JMESPath pattern to apply on data input

{data: newData}

-

outputPattern

JMESPath pattern to apply on enrich data output, before returning response

{stored: oldData}

-

taskIdPath

Json path which defines id for proceeding the process

id

[requestId]:[sagaStepId][runnerPartition]

enrichPath

Json path to use for enriching proceeded process event data

newData

-

Typically a global, generic /ProceedTask endpoint is used for triggering progression of tasks assigned to users across all sagas.

However, it is typically preferred to have the ProceedTask action running on the same runner performing StartTask sagas, as they typically need to have access to the same state managers (e.g. approval states).

TimeoutTask

Triggers timeout of an already started process, enriching with input event data. Event metadata fields applicable for this action are as follows:

Field
Definition
Example
Default

domain

Name of the state manager keeping process data

workflow

-

inputElement

Json path for the input in request event payload

parameters

-

outputElement

Json path for the output in response event payload

process

-

With event metadata parameters as:

Parameter
Definition
Example
Default

inputPattern

JMESPath pattern to apply on data input

{data: newData}

-

outputPattern

JMESPath pattern to apply on enrich data output, before returning response

{stored: oldData}

-

taskIdPath

Json path which defines id for timed out process

id

[requestId]:[sagaStepId][runnerPartition]

enrichPath

Json path to use for enriching timed out process event data

newData

-

TimeoutBetween

Triggers timeout of all processes with timeout time within the given range. Event metadata fields applicable for this action are as follows:

Field
Definition
Example
Default

inputElement

Json path for the input in request event payload

parameters

-

With event metadata parameters as:

Parameter
Definition
Example
Default

fromTimePath

Json path for "from time" of timeouts

start

Last timeout

toTimePath

Json path for "to time" of timeouts (updates last timeout)

end

-

Roles

proceedTask

Triggers proceeding of an already started process with the id defined in idPath of role data in role domain, enriching with enrichPath data.

timeoutTask

Triggers timeout of an already started process with the id defined in idPath of role data in role domain.

timeoutBetween

Triggers timeout of all processes in role domain with timeout time between values given in fromTimePath and toTimePath of role data.

Commands

TIMEOUT

Triggers timeout of all processes with timeout time within the given "fromTime" and "toTime" range.

Task Record

Current state of a task is stored in the state manager with the following details:

Field
Definition
Example

id

Unique task id

123

isProcessed

false

timeout

Epoch time of the timeout for current task

1686154822136

data.event

ask

{...}

data.taskId

Unique task id

123

data.taskName

Descriptive task name

Product Approval

data.taskAction

Descriptive task action

Approval

data.taskSpec

Reference to the task data specification

product_approval_ui

data.input

{}

391B
handler-task-0001.json
Example Task Handler Definition (Can be Imported on Element Screen)