mirror of
https://github.com/naruxde/revpipyload.git
synced 2025-11-08 23:23:52 +01:00
Bei Änderung der Configuration nur die PLC-Slave-Verbindungen trennen
Accept Timeout auf 2 Sekunden festgelegt
This commit is contained in:
@@ -66,6 +66,9 @@ Methods</h3>
|
||||
<td><a style="color:#0000FF" href="#RevPiSlave.check_connectedacl">check_connectedacl</a></td>
|
||||
<td>Prueft bei neuen ACLs bestehende Verbindungen.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiSlave.disconnect_all">disconnect_all</a></td>
|
||||
<td>Close all device connection.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiSlave.newlogfile">newlogfile</a></td>
|
||||
<td>Konfiguriert die FileHandler auf neue Logdatei.</td>
|
||||
</tr><tr>
|
||||
@@ -104,6 +107,12 @@ RevPiSlave.check_connectedacl</h3>
|
||||
<b>check_connectedacl</b>(<i></i>)
|
||||
<p>
|
||||
Prueft bei neuen ACLs bestehende Verbindungen.
|
||||
</p><a NAME="RevPiSlave.disconnect_all" ID="RevPiSlave.disconnect_all"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiSlave.disconnect_all</h3>
|
||||
<b>disconnect_all</b>(<i></i>)
|
||||
<p>
|
||||
Close all device connection.
|
||||
</p><a NAME="RevPiSlave.newlogfile" ID="RevPiSlave.newlogfile"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiSlave.newlogfile</h3>
|
||||
|
||||
@@ -33,6 +33,7 @@ mqttserver.__author__?9
|
||||
mqttserver.__copyright__?9
|
||||
mqttserver.__license__?9
|
||||
picontrolserver.RevPiSlave.check_connectedacl?4()
|
||||
picontrolserver.RevPiSlave.disconnect_all?4()
|
||||
picontrolserver.RevPiSlave.newlogfile?4()
|
||||
picontrolserver.RevPiSlave.run?4()
|
||||
picontrolserver.RevPiSlave.stop?4()
|
||||
|
||||
@@ -70,6 +70,12 @@ class RevPiSlave(Thread):
|
||||
)
|
||||
dev._acl = level
|
||||
|
||||
def disconnect_all(self):
|
||||
"""Close all device connection."""
|
||||
# Alle Threads beenden
|
||||
for th in self._th_dev:
|
||||
th.stop()
|
||||
|
||||
def newlogfile(self):
|
||||
"""Konfiguriert die FileHandler auf neue Logdatei."""
|
||||
pass
|
||||
@@ -80,6 +86,7 @@ class RevPiSlave(Thread):
|
||||
|
||||
# Socket öffnen und konfigurieren bis Erfolg oder Ende
|
||||
self.so = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
self.so.settimeout(2)
|
||||
while not self._evt_exit.is_set():
|
||||
try:
|
||||
self.so.bind((self._bindip, self._port))
|
||||
@@ -97,9 +104,11 @@ class RevPiSlave(Thread):
|
||||
self.exitcode = -1
|
||||
|
||||
# Verbindung annehmen
|
||||
proginit.logger.info("accept new connection for revpinetio")
|
||||
try:
|
||||
tup_sock = self.so.accept()
|
||||
proginit.logger.info("accepted new connection for revpinetio")
|
||||
except socket.timeout:
|
||||
continue
|
||||
except Exception:
|
||||
if not self._evt_exit.is_set():
|
||||
proginit.logger.exception("accept exception")
|
||||
|
||||
@@ -750,8 +750,8 @@ class RevPiPyLoad():
|
||||
if self.mqtt and self.th_plcmqtt is not None:
|
||||
self.th_plcmqtt.reload_revpimodio()
|
||||
|
||||
# ProcImgServer anhalten zum neu laden
|
||||
self.stop_plcslave()
|
||||
# Alle Verbindungen von ProcImgServer trennen
|
||||
self.th_plcslave.disconnect_all()
|
||||
|
||||
# XML Prozessabbildserver neu laden
|
||||
if self.xml_ps is not None:
|
||||
|
||||
Reference in New Issue
Block a user