bobocep.cep.engine.producer.producer.BoboProducer

class bobocep.cep.engine.producer.producer.BoboProducer(phenomena: List[bobocep.cep.phenom.phenom.BoboPhenomenon], gen_event_id: bobocep.cep.gen.event_id.BoboGenEventID, gen_timestamp: bobocep.cep.gen.timestamp.BoboGenTimestamp, max_size: int = 0)[source]

Bases: bobocep.cep.engine.task.BoboEngineTask, bobocep.cep.engine.producer.pubsub.BoboProducerPublisher, bobocep.cep.engine.decider.pubsub.BoboDeciderSubscriber

A producer task.

__init__(phenomena: List[bobocep.cep.phenom.phenom.BoboPhenomenon], gen_event_id: bobocep.cep.gen.event_id.BoboGenEventID, gen_timestamp: bobocep.cep.gen.timestamp.BoboGenTimestamp, max_size: int = 0)[source]
Parameters
  • phenomena – List of phenomena.

  • gen_event_id – Event ID generator.

  • gen_timestamp – Timestamp generator.

  • max_size – Maximum queue size. Default: 0 (unbounded).

close() None[source]

Closes the Producer.

is_closed() bool[source]
Returns

True if Producer is closed; False otherwise.

on_decider_update(completed: List[bobocep.cep.engine.decider.runserial.BoboRunSerial], halted: List[bobocep.cep.engine.decider.runserial.BoboRunSerial], updated: List[bobocep.cep.engine.decider.runserial.BoboRunSerial], local: bool) None[source]
Parameters
  • completed – Completed runs.

  • halted – Halted runs.

  • updated – Updated runs.

  • localTrue if the Decider update occurred locally; False if the update occurred on a remote (distributed) instance.

size() int[source]
Returns

Queue size.

subscribe(subscriber: bobocep.cep.engine.producer.pubsub.BoboProducerSubscriber)[source]
Parameters

subscriber – Subscriber to Producer data.

update() bool[source]
Returns

True if an internal update occurred; False otherwise.