Fixin comms

This commit is contained in:
2024-04-10 18:07:28 +02:00
committed by migatu
parent abb2f05798
commit 239c38c53e
+21 -12
View File
@@ -1,6 +1,7 @@
import logging
import threading
import json
import time
from queue import Queue, Empty
from flask import Flask, jsonify, request
from waitress import serve
@@ -9,7 +10,8 @@ HOST_ADDRESS = "192.168.1.191"
PORT_ADDRESS = 5000
OUT_COMM_Q = Queue()
IN_COMM_Q = Queue()
internal_q = Queue()
awaiting_q = []
incoming_q = Queue()
app = Flask(__name__)
@app.route("/conjurer", methods=["POST"])
@@ -18,16 +20,7 @@ def answer_external_command():
record = json.loads(request.data)
app.logger.info(record)
app.logger.info("DATA RECEIVED")
while True:
try:
q_data = internal_q.get(block=False)
except Empty:
break
if q_data.uuid in record:
q_data.stop = True
q_data.entries = record
IN_COMM_Q.put(q_data)
incoming_q.put(record)
return jsonify("SUCCESS")
@app.route("/conjurer", methods=["GET"])
@@ -56,7 +49,21 @@ def scan_queue(_logger):
while True:
data = OUT_COMM_Q.get()
_logger.info(data)
internal_q.put(data)
awaiting_q.append(data)
def scan_incoming(_logger):
while True:
try:
app.logger.info("DATA FOUND")
answer = incoming_q.get(block=False)
for record in awaiting_q:
if record.uuid in answer.keys():
record.stop = True
record.entries = answer[record.uuid]
IN_COMM_Q.put(request)
except Empty:
time.sleep(1)
break
def comm_subroutine(logger):
#logger.setLevel(logging.DEBUG)
@@ -65,6 +72,8 @@ def comm_subroutine(logger):
threads.append(threading.Thread(target=flask_debug, args=(logger,)))
#threads.append(threading.Thread(target=waitress_run, args=(logger,)))
threads.append(threading.Thread(target=scan_queue,args=(logger,)))
threads.append(threading.Thread(target=scan_incoming,args=(logger,)))
for worker in threads:
worker.start()