Files
aman-sys/aman/sys/Worker.py
2021-09-25 09:03:55 +02:00

54 lines
1.4 KiB
Python

#!/usr/bin/env python
from threading import Thread, Lock
import time
from aman.config.Airport import Airport
class Worker(Thread):
def __init__(self):
Thread.__init__(self)
self.stopThread = None
self.icao = None
self.configuration = None
self.arrivalRoutes = None
self.updateLock = None
self.reportQueue = {}
def __del__(self):
self.release()
def acquire(self, icao : str, configuration : Airport):
self.stopThread = None
self.icao = icao
self.configuration = configuration
self.arrivalRoutes = configuration.gngData.arrivalRoutes
self.updateLock = Lock()
self.reportQueue = {}
self.start()
def acquireLock(self):
if None != self.updateLock:
self.updateLock.acquire()
def release(self):
self.stopThread = True
self.join()
def releaseLock(self):
if None != self.updateLock:
self.updateLock.release()
def run(self):
counter = 0
while None == self.stopThread:
time.sleep(1)
counter += 1
if 0 != (counter % 60):
continue
# TODO handle the report queue and update internal information
# TODO execute planning, etc.
continue