Beispiel #1
0
 def run(self, hub, message):
     connection = Connection(self.url, self.session)
     connection.start()
     # get hub
     hub = connection.hub(hub)
     hub.server.invoke('send_message', message)
     connection.close()
 def run(self, hub, message):
     connection = Connection(self.url, self.session)
     connection.start()
     # get hub
     hub = connection.hub(hub)
     hub.server.invoke('send_message', message)
     connection.close()
class SignalRHubSensor(Sensor):
    def __init__(self, sensor_service, config=None):
        super(SignalRHubSensor, self).__init__(sensor_service=sensor_service,
                                               config=config)
        self._logger = self._sensor_service.get_logger(__name__)
        self.url = config['hub_url']
        self.hub_name = config['hub_name']
        self._trigger_ref = 'signalr.message_received'
        self._hub = None
        self.connection = None
        self.session = None

    def setup(self):
        self.connection = Connection(self.url, self.session)
        # start a connection
        self.connection.start()
        # add a handler to process notifications to the connection
        self.connection.handlers += \
            lambda data: self._logger.debug(
                'Connection: new notification - %s' % data)
        # get hub
        self._hub = self.connection.hub(self.hub_name)

    def message_received(self, message):
        self._logger.debug('Connection: new notification.' % message)
        self._sensor_service.dispatch(trigger=self._trigger_ref,
                                      payload={message: message})

    def run(self):
        self._hub.client.on('message_received',
                            SignalRHubSensor.message_received)

    def cleanup(self):
        # do not receive new messages
        self._hub.client.off('message_received', self.message_received)
        self.connection.close()
class SignalRHubSensor(Sensor):
    def __init__(self, sensor_service, config=None):
        super(SignalRHubSensor, self).__init__(sensor_service=sensor_service,
                                               config=config)
        self._logger = self._sensor_service.get_logger(__name__)
        self.url = config['hub_url']
        self.hub_name = config['hub_name']
        self._trigger_ref = 'signalr.message_received'
        self._hub = None
        self.connection = None
        self.session = None

    def setup(self):
        self.connection = Connection(self.url, self.session)
        # start a connection
        self.connection.start()
        # add a handler to process notifications to the connection
        self.connection.handlers += \
            lambda data: self._logger.debug(
                'Connection: new notification - %s' % data)
        # get hub
        self._hub = self.connection.hub(self.hub_name)

    def message_received(self, message):
        self._logger.debug('Connection: new notification.' % message)
        self._sensor_service.dispatch(trigger=self._trigger_ref,
                                      payload={message: message})

    def run(self):
        self._hub.client.on('message_received',
                            SignalRHubSensor.message_received)

    def cleanup(self):
        # do not receive new messages
        self._hub.client.off('message_received', self.message_received)
        self.connection.close()