.. currentmodule:: event_collector Collector ========= **Source code:** `event_collector.collector.py` .. py:module:: event_collector.collector This module contains definitions for the **Collector** class. .. pull-quote:: A `Collector` is a pipeline object for processing payloads. `Collectors` are designed for processing incoming data from a message or event queue. Type Aliases ------------ .. autotype:: event_collector.collector.CollectorList .. autotype:: event_collector.collector.CollectorDict .. autotype:: event_collector.collector.Processor .. autotype:: event_collector.collector.LifecycleManager Collector --------- .. autoclass:: event_collector.collector.Collector :members: process :member-order: bysource ``Collector`` is a container class to store attributes and functions to process event payloads. It accepts the following parameters: .. autoattribute:: event_collector.collector.Collector.key .. autoattribute:: event_collector.collector.Collector.topics .. autoattribute:: event_collector.collector.Collector.ctx .. autoattribute:: event_collector.collector.Collector.processor .. autoattribute:: event_collector.collector.Collector.lifecycle Usage ----- Example Collector initialization: .. code-block:: python from contextlib import asynccontextmanager from event_collector import Collector, Context, Payload, Result async def event_handler(payload: Payload, ctx: Context) -> Result: """The event handler.""" ... @asynccontextmanager async def event_handler_lifecycle(ctx: Context) -> None: """Perform setup and shutdown operations.""" try: print("setup") ... yield finally: print("shutdown") """Initialize a Collector.""" key = "example-collector" collector = Collector( key, event_handler, lifecycle=event_handler_lifecycle )