# forceSingleInstance

Enforces that only a single instance of the external message modification plugin runs.

This parameter applies to Support module for external message modification modules.

Name:

  forceSingleInstance

Scope:

  input

Type:

  boolean

Default:

  off

Required?:

  no

Introduced:

  8.3.0

## Description

This is an expert parameter. By default, `mmexternal` starts an instance of the external program for each worker thread in the action’s queue (the maximum number of worker threads can be specified with the queue.workerThreads parameter). Moreover, if the action is associated with a disk-assisted queue, an additional instance may be started to process items from disk.

If you want to ensure that only a single instance of the program is ever running, regardless of the number of worker threads or queue type, set this parameter to `"on"`. This is useful if the external program accesses a shared resource that does not support concurrent access.

This parameter is equivalent to the forceSingleInstance parameter.

## Input usage

    module(load="mmexternal")

    action(
        type="mmexternal"
        binary="/path/to/mmexternal.py"
        forceSingleInstance="on"
    )

## Notes

- The type was previously documented as `binary`; this maps to `boolean`.

## See also

See also Support module for external message modification modules.

Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project

Contributing: Source & docs: rsyslog source project

© 2008–2025 Rainer Gerhards and others. Licensed under the Apache License 2.0.