示例#1
0
    def post_input(self):

        # retrieve the dev instance
        dev_id = Util.get_id(self, "dev")
        if dev_id in device_instance:
            dev = device_instance[dev_id]
        else:
            dev = Util.get_simple_random_sensor_data(init_value=20,
                                                     min=0,
                                                     max=50,
                                                     increment=10,
                                                     error_rate=0.1)
            device_instance[dev_id] = dev

        # create json data
        json_data = {
            "id": dev_id,
            "value": dev.next_int(),
            "seq": dev.get_message_seq(),
            "time": Util.get_current_time()
        }

        # send data to target
        response = self.client.post(
            path="/api/v1/resources/topics//locust/input10/1",
            data=Util.get_json_with_size(json_data, 1000),
            auth=None,
            headers={
                "Authorization": "Bearer {}".format(Util.get_access_token()),
                "Content-Type": "application/json"
            },
            name=Util.get_class_name(self))
示例#2
0
    def pub(self):

        # retrieve the dev instance
        dev_id = Util.get_id(self.parent, "dev", Util.get_class_name(self))
        if dev_id in device_instance:
            dev = device_instance[dev_id]
        else:
            dev = Util.get_simple_random_sensor_data(init_value=20,
                                                     min=0,
                                                     max=50,
                                                     increment=10,
                                                     error_rate=0.1)
            device_instance[dev_id] = dev

        # create json data
        json_data = {
            "id": dev_id,
            "value": dev.next_int(),
            "seq": dev.get_message_seq(),
            "time": Util.get_current_time()
        }

        # send data to target
        Util.publish_to_eventhubs("windsensor",
                                  Util.get_json_with_size(json_data, 1000))

        events.request_success.fire(request_type='publish',
                                    name=Util.get_class_name(self),
                                    response_time=0,
                                    exception=None,
                                    response_length=1000)

        return
示例#3
0
 def on_start(self):
     # retrieve the dev instance
     dev_id = Util.get_id(self, "dev")
     if dev_id in device_instance:
         dev = device_instance[dev_id]
     else:
         dev = Util.get_simple_random_sensor_data(init_value=200, min=100, max=300, increment=10, error_rate=0.1)
         dev.set_failure_rate(20, 10)
         device_instance[dev_id] = dev
示例#4
0
    def pub(self):

        # retrieve the dev instance
        dev_id = Util.get_id(self.parent, "dev", Util.get_class_name(self))
        if dev_id in device_instance:
            dev = device_instance[dev_id]
        else:
            dev = Util.get_simple_random_sensor_data(init_value=20, min=0, max=50, increment=10, error_rate=0.1)
            device_instance[dev_id] = dev

        # create json data
        json_data = {
            "id": dev_id,
            "value": dev.next_int(),
            "seq": dev.get_message_seq(),
            "time": Util.get_current_time()
        }

        # send data to target
        rc, mid = self.parent.client.publish("/locust/mqtt/1",
                                             Util.get_json_with_size(json_data, 1000),
                                             qos=0, retain=True)

        if rc:
            events.request_failure.fire(
                request_type='publish',
                name=Util.get_class_name(self),
                response_time=0,
                exception=rc,
                response_length=1000
            )
        else:
            events.request_success.fire(
                request_type='publish',
                name=Util.get_class_name(self),
                response_time=0,
                response_length=1000,
            )
        return