mirror of
https://git.ianrenton.com/ian/spothole.git
synced 2026-08-09 03:51:41 +00:00
Merge branch '95-send-spots-to-xota' into 2.0-pre
# Conflicts: # README.md # core/config.py # server/handlers/api/addspot.py # server/handlers/api/lookups.py # server/handlers/api/options.py # server/webserver.py # spothole.py # static/apidocs/openapi.yml
This commit is contained in:
@@ -21,6 +21,7 @@ class HTTPSpotProvider(SpotProvider):
|
||||
self._poll_interval = poll_interval
|
||||
self._thread = None
|
||||
self._stop_event = Event()
|
||||
self._wakeup_event = Event()
|
||||
|
||||
def start(self):
|
||||
# Fire off the polling thread. It will poll immediately on startup, then sleep for poll_interval between
|
||||
@@ -31,11 +32,19 @@ class HTTPSpotProvider(SpotProvider):
|
||||
|
||||
def stop(self):
|
||||
self._stop_event.set()
|
||||
self._wakeup_event.set()
|
||||
|
||||
def force_poll(self):
|
||||
"""Trigger an immediate poll without waiting for the normal interval."""
|
||||
|
||||
self._wakeup_event.set()
|
||||
|
||||
def _run(self):
|
||||
while True:
|
||||
self._wakeup_event.clear()
|
||||
self._poll()
|
||||
if self._stop_event.wait(timeout=self._poll_interval):
|
||||
self._wakeup_event.wait(timeout=self._poll_interval)
|
||||
if self._stop_event.is_set():
|
||||
break
|
||||
|
||||
def _poll(self):
|
||||
|
||||
Reference in New Issue
Block a user