File: mmexternal-forcesingleinstance.rst

package info (click to toggle)
rsyslog 8.2512.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 30,464 kB
  • sloc: ansic: 123,809; sh: 42,109; makefile: 5,962; javascript: 1,842; python: 1,222; lex: 607; yacc: 193; perl: 162; sql: 103; tcl: 9; ruby: 2
file content (66 lines) | stat: -rw-r--r-- 1,828 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
.. _param-mmexternal-forcesingleinstance:
.. _mmexternal.parameter.input.forcesingleinstance:

forceSingleInstance
===================

.. index::
   single: mmexternal; forceSingleInstance
   single: forceSingleInstance

.. summary-start

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

.. summary-end

This parameter applies to :doc:`../../configuration/modules/mmexternal`.

: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
:doc:`queue.workerThreads <../../rainerscript/queue_parameters>` parameter).
Moreover, if the action is associated with a
:doc:`disk-assisted queue <../../concepts/queues>`, 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
:ref:`param-omprog-forcesingleinstance` parameter.

Input usage
-----------
.. _param-mmexternal-input-forcesingleinstance:
.. _mmexternal.parameter.input.forcesingleinstance-usage:

.. code-block:: rsyslog

   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 :doc:`../../configuration/modules/mmexternal`.