|
@@ -60,22 +60,23 @@ class KodiAliveThreadSingleton:
|
|
|
while self.is_running and not self._should_stop:
|
|
while self.is_running and not self._should_stop:
|
|
|
try:
|
|
try:
|
|
|
# 检查所有Kodi客户端是否在线
|
|
# 检查所有Kodi客户端是否在线
|
|
|
- offline_client_index = self.manager.check_all_kodi_clients_online()
|
|
|
|
|
|
|
+ offline_client_indices = self.manager.check_all_kodi_clients_online()
|
|
|
|
|
|
|
|
- if offline_client_index >= 0:
|
|
|
|
|
|
|
+ if offline_client_indices:
|
|
|
# 检测到不在线的客户端,启动对应的Kodi应用
|
|
# 检测到不在线的客户端,启动对应的Kodi应用
|
|
|
- logger.warning(f"检测到Kodi客户端 {offline_client_index} 不在线,尝试启动Kodi应用")
|
|
|
|
|
|
|
+ logger.warning(f"检测到 {len(offline_client_indices)} 个Kodi客户端不在线,索引: {offline_client_indices},尝试启动Kodi应用")
|
|
|
|
|
|
|
|
- try:
|
|
|
|
|
- # 根据client_index获取对应的客户端并启动
|
|
|
|
|
- if offline_client_index < len(self.manager.kodi_clients):
|
|
|
|
|
- client = self.manager.kodi_clients[offline_client_index]
|
|
|
|
|
- result = client.start_kodi()
|
|
|
|
|
- logger.info(f"已尝试启动客户端 {offline_client_index} 的Kodi应用,响应: {result}")
|
|
|
|
|
- else:
|
|
|
|
|
- logger.error(f"客户端索引 {offline_client_index} 超出范围,客户端总数: {len(self.manager.kodi_clients)}")
|
|
|
|
|
- except Exception as e:
|
|
|
|
|
- logger.error(f"启动客户端 {offline_client_index} 的Kodi应用时发生异常: {e}")
|
|
|
|
|
|
|
+ for offline_client_index in offline_client_indices:
|
|
|
|
|
+ try:
|
|
|
|
|
+ # 根据client_index获取对应的客户端并启动
|
|
|
|
|
+ if offline_client_index < len(self.manager.kodi_clients):
|
|
|
|
|
+ client = self.manager.kodi_clients[offline_client_index]
|
|
|
|
|
+ result = client.start_kodi()
|
|
|
|
|
+ logger.info(f"已尝试启动客户端 {offline_client_index} 的Kodi应用,响应: {result}")
|
|
|
|
|
+ else:
|
|
|
|
|
+ logger.error(f"客户端索引 {offline_client_index} 超出范围,客户端总数: {len(self.manager.kodi_clients)}")
|
|
|
|
|
+ except Exception as e:
|
|
|
|
|
+ logger.error(f"启动客户端 {offline_client_index} 的Kodi应用时发生异常: {e}")
|
|
|
else:
|
|
else:
|
|
|
# 所有客户端都在线
|
|
# 所有客户端都在线
|
|
|
logger.debug("所有Kodi客户端在线")
|
|
logger.debug("所有Kodi客户端在线")
|