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
  • Process / ProcessPython
  • Python Modules
  • NoopEventHandler
  • ProcessEventHandler
  • DQEventHandler
  1. Devops
  2. Microservices
  3. Elements
  4. Handlers
  5. Specialized Handlers

Run Python Procedure

This handler (com.rierino.handler.py4j.Py4JEventHandler) provides ability to handle events using Python libraries.

PreviousPerform Text EmbeddingNextGenerate Excel

Last updated 4 months ago

Handler Parameters

This handler has no special parameters.

This handler requires the following dependency added to :

implementation (group:'com.rierino.custom', name: 'py4j', version:"${rierinoVersion}")

Actions

Process / ProcessPython

Passes requested event to Python interface for processing. Event metadata fields applicable for this action are as follows:

Field
Definition
Example
Default

inputElement

Json path of payload input to pass

parameters

-

outputElement

Json path for output to add on payload

$

-

With event metadata parameters as:

Parameter
Definition
Example
Default

inputPattern

JMESPath pattern to apply on input element

{data:contents}

-

pyPackage

Name of the Python package to use

rierino_runner

-

pyModule

Name of the Python module to use

CustomHandler

-

pyAction

Name of the Python function to call

Calculate

-

Python function receives java handler, process input as dict, and event metadata parameters as input.

Using Py4JEventHandler requires deployment of an extra container along with the runner, such as "ghcr.io/rierino-open/py-runner" image, configured from useExtraContainer and extraImage parameters of Deployment UI.

Python Modules

The following python packages and modules are currently available out of box:

NoopEventHandler

Used for Py4J gateway testing purposes only.

  • pyPackage: rierino_runner

  • pyModule: NoopEventHandler

  • pyAction: hello

ProcessEventHandler

Generic handler for triggering any Python Process class (such as rierino_runner.IterateProcess, rierino_media.MediaEventProcess, rierino_tensor.TFModelProcess).

  • pyPackage: rierino_runner

  • pyModule: ProcessEventHandler

  • pyAction: execute

Parameter
Definition
Example
Default

sync

Whether handler should wait for task completion to return a response or not

true

false

systems

Comma separated list of system names for which parameters shall be received from Java runner

fs_media,s3_model

-

connections

Json array containing details of connections to pass to handler (system configurations on Java runner is usually preferred)

[{name: "fs_test", type: "fs", dir: "/tmp"}]

-

silent

Whether handler should log process updates or not

true

false

module

rierino_runner.IterateProcess

-

[module_params]

Process module specific parameters

{"iterator":{ "module": "rierino_runner.iterator.DataIterator", "element": "list" }}

-

DQEventHandler

Performs data quality assessment of given inputs against a configured list of checks.

  • pyPackage: rierino_dq

  • pyModule: DQEventHandler

  • pyAction: eval

Has the following set of additional event metadata parameters:

Parameter
Definition
Example
Default

configPath

Json path in input payload for DQ check configuration (if not using a config state)

parameters.dq_config

-

configState

Name of the runner state manager storing DQ check configs

dq_main

dq

configId

Id of the config stored in state manager

product_dq

default

reload

Whether config should be reloaded from state

true

false

summarize

Whether results should be summarized

true

false

Example

Input

{
    "parameters": {
        "id": "product-1",
        "data": {
             "name": "Test Product",
             "description": "Too Short"
        }
    }
}

Event Metadata

Additional python classes can be implemented and deploy using py-runner library for use with Py4JEventHandler, simply having the following two functions:

  • def init(self, javaHandler)

  • def [FUNCTION NAME](self, javaHandler, processDict, parameters)

Process module to execute (view )

deployment contents
list