exn-connector-python/exn/core/state_publisher.py
Fotis Paraskevopoulos 2144911594 Aligned python and java, dynamic consumers for python
Change-Id: I2b63a46431adc4adcb0a4fcbf12012f0077c3414
2024-01-13 19:28:08 +02:00

46 lines
944 B
Python

import datetime
import json
from enum import Enum
from proton import Message
from . import publisher
import logging
_logger = logging.getLogger(__name__)
class States(Enum):
STARTING = "starting"
STARTED = "started"
READY = "ready"
STOPPING = "stopping"
STOPPED = "stopped"
class Publisher(publisher.Publisher):
def __init__(self):
super().__init__("state","state", True)
def _send_message(self, message_type):
self.send({"state": message_type,"message": None})
def starting(self):
self._send_message(States.STARTING.value)
def started(self):
self._send_message(States.STARTED.value)
def ready(self):
self._send_message(States.READY.value)
def stopping(self):
self._send_message(States.STOPPING.value)
def stopped(self):
self._send_message(States.STOPPED.value)
def custom(self, state):
self._send_message(state)