> For the complete documentation index, see [llms.txt](https://docs.rierino.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rierino.com/devops/batch-tasks/python-processors.md).

# Python Processors

{% hint style="info" %}
Processors available out of box for execution are listed on this page. It is also possible to create new processors using rierino\_runner.Processor as the base class.
{% endhint %}

## rierino\_runner.processor.NoopProcessor

This is a test processpr that doesn't perform any specific action.

## rierino\_runner.processor.PrintProcessor

This is a test processor that simply prints the request details on console.

## rierino\_runner.processor.FSProcessor

This processor performs file operations with a file system.

| Parameter | Definition                                                | Example      | Default |
| --------- | --------------------------------------------------------- | ------------ | ------- |
| system    | Name of system in connections to connect to               | fs\_media    | -       |
| action    | File action to perform (can be passed in payload as well) | writeToLocal | -       |

Following payload fields are used by the actions, based on the action type:

* path
* tarName
* content
* localPath
* targetPath
* fileName
* targetFile
* prefix

Applicable file actions are as follows:

* removeLocalFile
* removeLocalDir
* makeLocalDir
* writeToLocal
* readFromLocal
* tarLocal
* untarLocal
* removeFile
* removeDir
* makeDir
* copyFromLocal
* copyFromLocalDir
* syncFromLocalDir
* copyToLocal

## rierino\_runner.processor.IOProcessor

This processor performs record operations on databases or files.

| Parameter | Definition                                      | Example                                     | Default |
| --------- | ----------------------------------------------- | ------------------------------------------- | ------- |
| system    | Name of system in connections to connect to     | mongo\_master                               | -       |
| output    | Output parameters for writing records to system | {database: "master", collection: "product"} | -       |

## rierino\_runner.processor.RestProcessor

This processor makes calls to a REST API. For more complex REST API integrations, Java sagas should be called to perform the request instead.

| Parameter   | Definition                                                                                            | Example               | Default |
| ----------- | ----------------------------------------------------------------------------------------------------- | --------------------- | ------- |
| system      | Name of system in connections to connect to                                                           | erp                   | -       |
| method      | Request method                                                                                        | POST                  | -       |
| url         | Request URL (if there is a targetPath in payload, it is appended to this url)                         | /CreateProduct        | -       |
| headers     | Headers to pass on in request                                                                         | {}                    | -       |
| token       | Authorization token to send for request                                                               | {API\_KEY} (from env) | -       |
| tokenPrefix | Authorization token prefix to use                                                                     | gateway\_token        | Bearer  |
| username    | Username to send for basic authentication                                                             | {USERNAME} (from env) | -       |
| password    | Password to send for basic authentication                                                             | {PASSWORD} (from env) | -       |
| download    | Whether response should be downloaded as file (with localPath & filePath from payload) (binary, true) | true                  | -       |
| internal    | Whether request should be formatted in Event data format as an internal microservice call             | true                  | -       |
| retries     | Number of retries if the REST call fails                                                              | 3                     | 0       |

## rierino\_runner.processor.JavaProcessor

This processor is only applicable when called through Java Py4JEventHandler, allowing hook calls to the Java runner without requiring explicit REST API calls.

| Parameter | Definition                               | Example | Default |
| --------- | ---------------------------------------- | ------- | ------- |
| meta      | Event metadata to pass on to Java runner | -       | -       |
| retries   | Number of retries if the Java call fails | 3       | 0       |

## rierino\_runner.processor.KafkaProcessor

This processor sends messages to a Kafka topic.

| Parameter | Definition                                  | Example        | Default |
| --------- | ------------------------------------------- | -------------- | ------- |
| system    | Name of system in connections to connect to | kafka\_default | -       |
| topic     | Name of topic to send messages to           | email\_trigger | -       |

## rierino\_runner.processor.ProcessProcessor

This processor allows calling any [Python Process](/devops/batch-tasks/python-processes.md), passing payload as well as parameters enriched with payload.

| Parameter      | Definition                 | Example        | Default |
| -------------- | -------------------------- | -------------- | ------- |
| processPackage | Python package for Process | rierino\_media | -       |
| processModule  | Python module for Process  | MediaProcess   | -       |

## rierino\_runner.processor.MultiStepProcessor

This processor performs a sequence of calls to different processors.

| Parameter | Definition               | Example                          | Default |
| --------- | ------------------------ | -------------------------------- | ------- |
| steps     | List of steps to perform | \[{module: "", stepPattern: ""}] | -       |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.rierino.com/devops/batch-tasks/python-processors.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
