Source code for bspump.analyzer.analyzingsource

import logging

from ..abc.source import TriggerSource


L = logging.getLogger(__name__)


[docs] class AnalyzingSource(TriggerSource): """ The `AnalyzingSource` is triggered source, which expects `matrix_id` as an input. Each trigger fire it calls `analyze()` function of the `Matrix` and expects a complex event as an output. A complex event can be array of events, aggregation of events (average, max, min etc.) """
[docs] def __init__(self, app, pipeline, matrix_id, id=None, config=None): """ Description: **Parameters** app : Application Name of the Application pipeline : Pipeline Name of the Pipeline matrix_id : str ID of the matrix. id : str, default = None ID config : JSON, default = None configuration file containing additional information. """ super().__init__(app, pipeline, id=id, config=config) svc = app.get_service("bspump.PumpService") self.AnalyzeMatrix = svc.locate_matrix(matrix_id)
[docs] async def cycle(self): """ Description: """ event = await self.AnalyzeMatrix.analyze() await self.process(event)