Disabled Engine heartbeat results in broken pipe
When the Engine heartbeat is disabled i.e. Engine is not requesting the Liquidsoap status once a second, the connection to Liquidsoap gets stale quickly. This results in a BrokenPipeError
.
It probably makes sense to fix this as part of the Liquidsoap Client Module Refactoring (#65 (closed) ). This module needs to be refactored soonish, as it's the main Comba leftover.
Meanwhile enabling heartbeat monitoring for all the default configs.
2021-05-04 16:44:58,969:AuraEngine:ERROR - Detected a problem with liquidsoap connection while sending: mixer.status 3
. Reason: [Errno 32] Broken pipe! Trying to reconnect. - [client.py:217-command()]
Exception in thread TIMESLOT:do_end_timeslot:1620139498.5:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib/python3.8/threading.py", line 1254, in run
self.function(*self.args, **self.kwargs)
File "/home/david/Code/aura/engine/src/control.py", line 289, in wrapper_func
if param: self.func(param,)
File "/home/david/Code/aura/engine/src/scheduling/scheduler.py", line 448, in do_end_timeslot
self.engine.player.stop(recent_entry, TransitionType.FADE)
File "/home/david/Code/aura/engine/src/engine.py", line 364, in stop
self.mixer.fade_out(entry.channel)
File "/home/david/Code/aura/engine/src/mixer.py", line 395, in fade_out
current_volume = self.channel_current_volume(channel)
File "/home/david/Code/aura/engine/src/mixer.py", line 269, in channel_current_volume
status = self.channel_status(channel_number)
File "/home/david/Code/aura/engine/src/mixer.py", line 210, in channel_status
return self.connector.send_lqc_command(self.mixer_id.value, "mixer_status", channel_number)
File "/home/david/Code/aura/engine/src/client/connector.py", line 101, in send_lqc_command
result = func(str(namespace), *args)
File "/home/david/Code/aura/engine/src/client/playerclient.py", line 69, in mixer_status
self.command(mixer_id, "status", str(pos))
File "/home/david/Code/aura/engine/src/client/client.py", line 206, in command
self.socket.sendall(message.encode())
BrokenPipeError: [Errno 32] Broken pipe