module¶
- class lrpy.module.Module(config)¶
- attach(commod: ComModule)¶
Intern metod. Anropas av systemet, ska inte anropas manuellt.
- emit_message(message: Message)¶
Skickar ett meddelande till alla moduler som lyssnar på denna meddelandetyp. Anropet blockerar inte, modulen fortsätter köra direkt.
- get_introspection() ModuleIntrospection¶
Returnerar metadata om modulen.
- abstractmethod get_listeners() Iterable[tuple[str, Callable[[Any], Awaitable[None]]]]¶
Returnerar vilka meddelandetyper modulen lyssnar på och vilken metod som hanterar dem. Ärv från DecoratedModule och använd @on_message istället för att implementera denna direkt.
- async run(stop: Event)¶
Implementera denna metod för att köra kod kontinuerligt i modulen.
Använd
while not stop.is_set()som loop-villkor ochawait asyncio.sleep()i loopen så att modulen avslutas när programmet stoppas. Behöver inte definieras om modulen bara lyssnar på meddelanden.
- async setup()¶
Is ran before run is executed on any module. Must exit, if setup raise an Exception program will halt
- async start(stop: Event)¶
Intern metod. Anropas av systemet för att starta modulen, ska inte anropas manuellt.