Process¶
Note
Process modules process and therefor modify events in one way or another.
Process modules usually aren’t very cooperative in the Gevent sense of doing things since they aren’t supposed to do any IO.
The builtin Wishbone Output modules:
Name | Description |
---|---|
wishbone.module.process.modify |
Modify and manipulate datastructures. |
wishbone.module.process.pack |
Packs multiple events into a bulk event. |
wishbone.module.process.template |
Renders Jinja2 templates. |
wishbone.module.process.unpack |
Unpacks bulk events into single events. |
Process
modules must base wishbone.module.ProcessModule
:
-
class
wishbone.module.
ProcessModule
(config)[source]¶ Bases:
wishbone.actor.Actor
-
generateEvent
(data={}, destination=None)¶ Generates a new event.
This function can get overridden by
wishbone.module.InputModule._generateNativeEvent
.The provided
data
will be traversed in search of valid templates which then will be rendered.Parameters: Returns: An event containing
data
as a payload.Return type:
-
loop
()¶ The global lock for this module.
Returns: True when module is in running mode. False if not. Return type: bool
-
postHook
()¶ Is executed when module exits.
-
preHook
()¶ Is executed when module starts. Can be overriden by the user.
-
registerConsumer
(function, queue)¶ Registers <function> to process all events in <queue>
Don’t not trap errors here. When <function> fails then the event will be submitted to the “failed” queue, If <function> succeeds to the success queue.
Registering
function
to consumequeue
will also apply all the registered module functions against the events consumed from it.Parameters: Returns: None
-
renderEventKwargs
(event, queue=None)¶ Renders kwargs using the content of
event
and stores the result underevent.kwargs
.Parameters: Returns: The provided event instance.
Return type: wishbone.event.Event
-
renderKwargs
()¶ Renders kwargs without making use of event content. This is typically used when initiliazing a module and render the defined kwargs which do not need a event data for rendering.
Returns: None
-
sendToBackground
(function, *args, **kwargs)¶ Executes a function and sends it to the background. Such a function should never exit until
self.loop
returnsFalse
. This method wrapsfunction
again in a loop as longself.loop
returnsFalse
so thatfunction
is restarted and an error is logged.Parameters:
-
start
()¶ Starts the module.
Returns: None
-
stop
()¶ Makes
self.loop
returnFalse
and handles shutdown of of the registered background jobs.
-