Verarbeitungsmodule
Verarbeitungsmodule sind im Vergleich zu Eingangs- und Ausgangsmodulen die flexibelsten Module, da sie über einen Eingangs- und einen Ausgangsport verfügen. Verarbeitungsmodule können verwendet werden, um eingehende Datenobjekte zu manipulieren (z. B. zu filtern) oder benutzerdefinierte Algorithmen anzuwenden.
Beispiel
from modules.base.processors.base import AbstractProcessorModule, models
class ProcessorModule(AbstractProcessorModule):
...
def __init__(self, configuration: Configuration):
super().__init__(configuration=configuration, thread_safe=False)
self.count: int = 0
def _run(self, data: models.Data) -> models.Data:
"""
Method for executing the module.
:param data: The data object.
:returns: The data object after processing.
"""
self.count += 1
data.fields["data_object_count"] = self.count
return data
Info
Die Methode
_run
wird von einem einzigen Thread aufgerufen und ist daher thread-sicher, wenn dies aktiviert ist: thread_safe=True