# Batch processors

## Overview

Servoy Batch Processors are headless Servoy client sessions that run on the server without a user interface and are designed to execute background jobs on a schedule or in response to external triggers. They are ideal for recurring, fully automated tasks such as data synchronization, reporting, clean‑up routines, or integrations that must run independently of user activity.

{% hint style="warning" %}
Starting with 2026.03, managing batch processors (start/stop, enable/disable, and related actions) is no longer done via the Servoy Admin Page but through Servoy Cloud. To manage batch processors in Servoy Cloud, go to **Environments → Batch processors**.
{% endhint %}

For more information on how batch processors work conceptually and how to implement the actual batch logic in your Servoy solution, please refer to the Servoy documentation section on [Batch Processors](https://docs.servoy.com/guides/develop/programming-guide/automation-and-scheduling/batch-processor).

***

## View configuration

To view the current batch processor configuration and other deployed properties, open the deployed `servoy.properties.template` that is currently in use by the environment:

* Go to **Applications → Pipelines**.
* Locate the relevant pipeline and click the **Actions** button.
* Click **View servoy properties template file**.

This displays the effective `servoy.properties.template` as deployed for that pipeline, including (but not limited to) the batch processor settings currently used by the environment.

***

## Actions

The Batch Processors view in Servoy Cloud shows the configured batch processors and allows you to perform actions such as creating, starting, stopping, enabling, and disabling them.

If the batch processor status cannot be retrieved (for example due to a connectivity or runtime issue), the status will be shown as `UNKNOWN` and all actions for that processor will be disabled until the status can be determined again.

<figure><img src="https://3933488479-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjpWd52BKwABWxF2lScUK%2Fuploads%2FrCndLmuVeKJRDdrJ4caN%2Factions_batch.gif?alt=media&#x26;token=14726103-b4c2-4465-897e-9f4a9931b898" alt=""><figcaption><p>Batch processor actions (e.g. Enable, Disable, Start, Stop)</p></figcaption></figure>

### Refresh processors

To refresh the batch processor list:

* Go to **Environments → Batch processors**.
* Click on the **Actions** button on the main page, top right.
* Choose **Refresh processors**

This will refresh the list of batch processors and update the details if available

### Create batch processor

To create a batch processor for Servoy Cloud:

1. Open your solution’s pipeline workspace and locate the `servoy.properties.template` file:\
   `Your workspace → jenkins-custom → servoy.properties.template`
2. Add (or update) the batch processor configuration:

*Example of configuring 2 batch processors*

```properties
BatchManager.numberOfBatchClients=2
batchProcess.0.args=isHeadlessClient, -scheduleProcessor-1
batchProcess.0.disabled=true
batchProcess.0.password=${CUSTOM_BATCH_PROCESS_PASSWORD}
batchProcess.0.solutionName=apiSample
batchProcess.0.userName=headless
batchProcess.1.args=isHeadlessClient, -scheduleProcessor-2
batchProcess.1.disabled=true
batchProcess.1.password=${CUSTOM_BATCH_PROCESS_PASSWORD}
batchProcess.1.solutionName=apiSample
batchProcess.1.userName=headless
```

1. Make sure `BatchManager.numberOfBatchClients` matches the total number of configured batch processors (increase it when you add more processors: `batchProcess.0.*`, `batchProcess.1.*`, etc.).
2. Provide the password inline or via a custom property in the ServoyCloud job configuration (for example `CUSTOM_BATCH_PROCESS_PASSWORD`) and reference it in `servoy.properties.template` as shown above.
3. Ensure your Servoy solution contains the required batch setup (e.g. logic in `onSolutionOpen`); see the Servoy [guide on Batch Processors](https://docs.servoy.com/guides/deploy/server-configuration/batch-processors) for details.
4. Trigger a ServoyCloud build for this pipeline.

After the build completes successfully, the new batch processor appears in Servoy Cloud under **Environments → Batch processors**, where you can manage its lifecycle.

***

### Remove batch processor

To remove a batch processor:

1. Open `servoy.properties.template` in your `jenkins-custom` folder.
2. Remove the corresponding `batchProcess.N.*` entries for the processor you want to delete.
3. Adjust `BatchManager.numberOfBatchClients` if necessary (for example, reduce it when you remove the last processor index).
4. Trigger a new ServoyCloud build.

After the new build is deployed, the batch processor list in Servoy Cloud is updated and the removed processor no longer appears under **Environments → Batch processors**.

***

### Start batch processor

To start a batch processor from Servoy Cloud:

1. Go to **Environments → Batch processors**.
2. Locate the desired batch processor that is **Enabled** and currently **Stopped**.
3. Open the context menu (three dots) for that processor.
4. Choose **Start batch processor**.

Starting a batch processor creates a headless client session for its configured solution. The solution’s startup logic (such as `onSolutionOpen`) runs and typically schedules the actual batch job(s).

***

### Stop batch processor

To stop a running batch processor:

1. Go to **Environments → Batch processors**.
2. Locate the processor with status **Running**.
3. Open the context menu (three dots).
4. Choose **Stop batch processor**.

Stopping a batch processor terminates its headless client session and prevents further scheduled executions until it is started again.

***

### Enable batch processor

To enable a batch processor (allowing it to be started and, if configured, considered on server startup):

1. Go to **Environments → Batch processors**.
2. Find the batch processor that is currently **Disabled**.
3. Open the context menu (three dots).
4. Choose **Enable batch processor**.

When enabled, the processor can be started from Servoy Cloud and behaves according to its configuration in `servoy.properties.template`.

***

### Disable batch processor

To disable a batch processor (without removing its configuration):

1. Go to **Environments → Batch processors**.
2. Find the batch processor you want to temporarily turn off.
3. Open the context menu (three dots).
4. Choose **Disable batch processor**.

A disabled processor will not run (it cannot be started and will not start automatically), but its configuration remains in `servoy.properties.template`, so you can re‑enable it later without recreating it.
