This commit is contained in:
		@@ -35,6 +35,7 @@ if config.SENTRY_DSN:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def setup_rabbit() -> None:
 | 
					def setup_rabbit() -> None:
 | 
				
			||||||
 | 
					    logging.info("Connecting to RabbitMQ")
 | 
				
			||||||
    credentials = pika.PlainCredentials(config.RABBIT_USERNAME, config.RABBIT_PASSWORD)
 | 
					    credentials = pika.PlainCredentials(config.RABBIT_USERNAME, config.RABBIT_PASSWORD)
 | 
				
			||||||
    connection = pika.BlockingConnection(pika.ConnectionParameters(host=config.RABBIT_HOSTNAME,
 | 
					    connection = pika.BlockingConnection(pika.ConnectionParameters(host=config.RABBIT_HOSTNAME,
 | 
				
			||||||
                                                                   credentials=credentials,
 | 
					                                                                   credentials=credentials,
 | 
				
			||||||
@@ -49,6 +50,7 @@ def setup_rabbit() -> None:
 | 
				
			|||||||
                                  exclusive=True).method.queue
 | 
					                                  exclusive=True).method.queue
 | 
				
			||||||
    channel.queue_bind(exchange=config.RABBIT_EXCHANGE, queue=queue)
 | 
					    channel.queue_bind(exchange=config.RABBIT_EXCHANGE, queue=queue)
 | 
				
			||||||
    channel.basic_consume(queue=queue, on_message_callback=on_message, auto_ack=True)
 | 
					    channel.basic_consume(queue=queue, on_message_callback=on_message, auto_ack=True)
 | 
				
			||||||
 | 
					    logging.debug("Starting consumption")
 | 
				
			||||||
    channel.start_consuming()
 | 
					    channel.start_consuming()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -61,11 +63,13 @@ def on_message(channel, method_frame, header_frame, body):
 | 
				
			|||||||
        r.raise_for_status()
 | 
					        r.raise_for_status()
 | 
				
			||||||
        if 'device_id' not in r.json():
 | 
					        if 'device_id' not in r.json():
 | 
				
			||||||
            logging.error("Input-service response invalid")
 | 
					            logging.error("Input-service response invalid")
 | 
				
			||||||
 | 
					        logging.info(f"Sending alert command to device {r.json()['device_id']}")
 | 
				
			||||||
        mqtt.publish(subtopic=r.json()['device_id'],
 | 
					        mqtt.publish(subtopic=r.json()['device_id'],
 | 
				
			||||||
                     message=json.dumps({"command": "doAlert"}))
 | 
					                     message=json.dumps({"command": "doAlert"}))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if __name__ == "__main__":
 | 
					if __name__ == "__main__":
 | 
				
			||||||
 | 
					    logging.info("Guard service starting")
 | 
				
			||||||
    mqtt = MQTT()
 | 
					    mqtt = MQTT()
 | 
				
			||||||
    mqtt.topic = config.MQTT_TOPIC
 | 
					    mqtt.topic = config.MQTT_TOPIC
 | 
				
			||||||
    mqtt.connect()
 | 
					    mqtt.connect()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -58,6 +58,7 @@ class MQTT:
 | 
				
			|||||||
        Setup client and connect to broker
 | 
					        Setup client and connect to broker
 | 
				
			||||||
        :return:
 | 
					        :return:
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
 | 
					        logging.info("Connecting to MQTT")
 | 
				
			||||||
        self.client = mqtt.Client(client_id=self.client_id, clean_session=True, userdata=None, protocol=mqtt.MQTTv311,
 | 
					        self.client = mqtt.Client(client_id=self.client_id, clean_session=True, userdata=None, protocol=mqtt.MQTTv311,
 | 
				
			||||||
                                  transport="tcp")
 | 
					                                  transport="tcp")
 | 
				
			||||||
        self.port = int(self.port)
 | 
					        self.port = int(self.port)
 | 
				
			||||||
@@ -70,6 +71,7 @@ class MQTT:
 | 
				
			|||||||
        :param subtopic:
 | 
					        :param subtopic:
 | 
				
			||||||
        :return:
 | 
					        :return:
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
 | 
					        logging.debug(f"MQTT Topic: {self.topic}/{subtopic} Message: {message} QOS: {self.qos} Retain: {self.retain}")
 | 
				
			||||||
        if subtopic:
 | 
					        if subtopic:
 | 
				
			||||||
            self.client.publish(f"{self.topic}/{subtopic}", message, qos=self.qos, retain=self.retain)
 | 
					            self.client.publish(f"{self.topic}/{subtopic}", message, qos=self.qos, retain=self.retain)
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user