mirror of
https://github.com/30hours/3lips.git
synced 2024-11-08 12:25:42 +00:00
Event loop coming together
This commit is contained in:
parent
b2cbc6283f
commit
40246c5e33
3 changed files with 36 additions and 18 deletions
|
@ -89,4 +89,4 @@ def serve_cesium_content(file):
|
||||||
return Response('Error fetching content from Apache server', status=500, content_type='text/plain')
|
return Response('Error fetching content from Apache server', status=500, content_type='text/plain')
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
app.run(debug=True)
|
app.run()
|
||||||
|
|
|
@ -56,14 +56,12 @@ class Message:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
with conn:
|
with conn:
|
||||||
print(f"Connected by {addr}")
|
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
data = conn.recv(1024)
|
data = conn.recv(1024)
|
||||||
if not data:
|
if not data:
|
||||||
break
|
break
|
||||||
decoded_data = data.decode()
|
decoded_data = data.decode()
|
||||||
print(f"Received data: {decoded_data}")
|
|
||||||
|
|
||||||
# Call the callback function if set
|
# Call the callback function if set
|
||||||
if self.callback_message_received:
|
if self.callback_message_received:
|
||||||
|
|
|
@ -5,6 +5,8 @@ import threading
|
||||||
import socket
|
import socket
|
||||||
import asyncio
|
import asyncio
|
||||||
import time
|
import time
|
||||||
|
import copy
|
||||||
|
import json
|
||||||
|
|
||||||
from algorithm.associator.AdsbAssociator import AdsbAssociator
|
from algorithm.associator.AdsbAssociator import AdsbAssociator
|
||||||
from algorithm.coordreg.EllipseParametric import EllipseParametric
|
from algorithm.coordreg.EllipseParametric import EllipseParametric
|
||||||
|
@ -12,27 +14,31 @@ from common.Message import Message
|
||||||
|
|
||||||
# init event loop
|
# init event loop
|
||||||
api = []
|
api = []
|
||||||
api_update = []
|
|
||||||
|
# init config
|
||||||
|
tDelete = 60
|
||||||
|
|
||||||
async def event():
|
async def event():
|
||||||
|
|
||||||
|
global api
|
||||||
|
|
||||||
timestamp = int(time.time()*1000)
|
timestamp = int(time.time()*1000)
|
||||||
print("Event triggered at: " + str(timestamp), flush=True)
|
print("Event triggered at: " + str(timestamp), flush=True)
|
||||||
print(api)
|
|
||||||
|
|
||||||
# main event loop
|
# main event loop
|
||||||
#for api_x in api:
|
api_event = copy.copy(api)
|
||||||
|
|
||||||
# request data from API
|
for item in api_event:
|
||||||
|
|
||||||
# API management
|
print(item)
|
||||||
|
|
||||||
# add new API requests
|
|
||||||
|
|
||||||
# delete old API requests
|
# delete old API requests
|
||||||
|
api_event = [
|
||||||
|
item for item in api_event if timestamp - item["timestamp"] <= tDelete*1000]
|
||||||
|
|
||||||
|
# update API
|
||||||
|
api = api_event
|
||||||
|
|
||||||
# send output data
|
|
||||||
#message_output.send_message(str(int(time.time()*1000)))
|
|
||||||
|
|
||||||
# event loop
|
# event loop
|
||||||
async def main():
|
async def main():
|
||||||
|
@ -40,20 +46,34 @@ async def main():
|
||||||
while True:
|
while True:
|
||||||
await event()
|
await event()
|
||||||
await asyncio.sleep(1)
|
await asyncio.sleep(1)
|
||||||
api = api_update
|
|
||||||
|
|
||||||
# message received callback
|
# message received callback
|
||||||
async def callback_message_received(msg):
|
async def callback_message_received(msg):
|
||||||
|
|
||||||
print(f"Callback: Received message in event.py: {msg}", flush=True)
|
print(f"Callback: Received message in event.py: {msg}", flush=True)
|
||||||
if msg not in api:
|
|
||||||
api.append(msg)
|
|
||||||
timestamp = int(time.time()*1000)
|
timestamp = int(time.time()*1000)
|
||||||
return str(timestamp)
|
|
||||||
|
# update timestamp if api entry exists
|
||||||
|
for x in api:
|
||||||
|
if x["url"] == msg:
|
||||||
|
x["timestamp"] = timestamp
|
||||||
|
break
|
||||||
|
|
||||||
|
# add api entry if does not exist
|
||||||
|
if not any(x.get("url") == msg for x in api):
|
||||||
|
api.append({})
|
||||||
|
api[-1]["url"] = msg
|
||||||
|
api[-1]["timestamp"] = timestamp
|
||||||
|
|
||||||
|
# json dump
|
||||||
|
output = json.dumps(api)
|
||||||
|
|
||||||
|
return output
|
||||||
|
|
||||||
# init messaging
|
# init messaging
|
||||||
message_api_request = Message('event', 6969)
|
message_api_request = Message('event', 6969)
|
||||||
message_api_request.set_callback_message_received(callback_message_received)
|
message_api_request.set_callback_message_received(callback_message_received)
|
||||||
#message_output = Message('api', 6970)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
threading.Thread(target=message_api_request.start_listener).start()
|
threading.Thread(target=message_api_request.start_listener).start()
|
||||||
|
|
Loading…
Reference in a new issue