forked from platypush/platypush
Keep a sleep between polls to the Snapcast servers
This commit is contained in:
parent
2d2db499be
commit
55f1a33d90
1 changed files with 10 additions and 3 deletions
|
@ -31,10 +31,11 @@ class MusicSnapcastBackend(Backend):
|
|||
"""
|
||||
|
||||
_DEFAULT_SNAPCAST_PORT = 1705
|
||||
_DEFAULT_POLL_SECONDS = 5 # Poll servers each 5 seconds
|
||||
_SOCKET_EOL = '\r\n'.encode()
|
||||
|
||||
def __init__(self, hosts=['localhost'], ports=[_DEFAULT_SNAPCAST_PORT],
|
||||
*args, **kwargs):
|
||||
poll_seconds=_DEFAULT_POLL_SECONDS, *args, **kwargs):
|
||||
"""
|
||||
:param hosts: List of Snapcast server names or IPs to monitor (default:
|
||||
`['localhost']`
|
||||
|
@ -43,12 +44,17 @@ class MusicSnapcastBackend(Backend):
|
|||
:param ports: List of control ports for the configured Snapcast servers
|
||||
(default: `[1705]`)
|
||||
:type ports: list[int]
|
||||
|
||||
:param poll_seconds: How often the backend will poll remote servers for
|
||||
status updated (default: 5 seconds)
|
||||
:type poll_seconds: float
|
||||
"""
|
||||
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
self.hosts = hosts[:]
|
||||
self.ports = ports[:]
|
||||
self.poll_seconds = poll_seconds
|
||||
self._socks = {}
|
||||
self._threads = {}
|
||||
self._statuses = {}
|
||||
|
@ -142,7 +148,7 @@ class MusicSnapcastBackend(Backend):
|
|||
|
||||
try:
|
||||
self._disconnect(host, port)
|
||||
time.sleep(5)
|
||||
time.sleep(self.poll_seconds)
|
||||
except:
|
||||
pass
|
||||
|
||||
|
@ -168,9 +174,10 @@ class MusicSnapcastBackend(Backend):
|
|||
|
||||
try:
|
||||
self._disconnect(host, port)
|
||||
time.sleep(5)
|
||||
except:
|
||||
pass
|
||||
finally:
|
||||
time.sleep(self.poll_seconds)
|
||||
|
||||
return _thread
|
||||
|
||||
|
|
Loading…
Reference in a new issue