Enabled periodic json dump from Dump1090, optimized lock in repeaters.py.

This commit is contained in:
Marat Fayzullin 2023-09-19 22:43:55 -04:00
parent d93c356f0c
commit 2e33b99767
2 changed files with 15 additions and 13 deletions

View File

@ -84,7 +84,7 @@ class Dump1090Module(ExecModule):
cmd = [
"dump1090", "--ifile", "-", "--iformat", "SC16",
"--lat", str(lat), "--lon", str(lon),
"--metric"
"--modeac", "--metric", "--write-json", "/tmp"
]
if rawOutput:
cmd += [ "--raw" ]

View File

@ -91,20 +91,22 @@ class Repeaters(object):
file = self._getCachedDatabaseFile()
ts = os.path.getmtime(file) if os.path.isfile(file) else 0
with self.lock:
# If cached database is stale...
if time.time() - ts >= self.refreshPeriod:
# Load EIBI database file from the web
repeaters = self.loadFromWeb()
if repeaters:
# Save parsed data into a file
self.saveRepeaters(file, repeaters)
# Update current schedule
# If cached database is stale...
if time.time() - ts >= self.refreshPeriod:
# Load EIBI database file from the web
repeaters = self.loadFromWeb()
if repeaters:
# Save parsed data into a file
self.saveRepeaters(file, repeaters)
# Update current schedule
with self.lock:
self.repeaters = repeaters
# If no current databse, load it from cached file
if not self.repeaters:
self.repeaters = self.loadRepeaters(file)
# If no current databse, load it from cached file
if not self.repeaters:
repeaters = self.loadRepeaters(file)
with self.lock:
self.repeaters = repeaters
#
# Save database to a given JSON file.