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><a style="color:#0000FF" href="#RevPiSlave.check_connectedacl">check_connectedacl</a></td>
|
||||||
<td>Prueft bei neuen ACLs bestehende Verbindungen.</td>
|
<td>Prueft bei neuen ACLs bestehende Verbindungen.</td>
|
||||||
</tr><tr>
|
</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><a style="color:#0000FF" href="#RevPiSlave.newlogfile">newlogfile</a></td>
|
||||||
<td>Konfiguriert die FileHandler auf neue Logdatei.</td>
|
<td>Konfiguriert die FileHandler auf neue Logdatei.</td>
|
||||||
</tr><tr>
|
</tr><tr>
|
||||||
@@ -104,6 +107,12 @@ RevPiSlave.check_connectedacl</h3>
|
|||||||
<b>check_connectedacl</b>(<i></i>)
|
<b>check_connectedacl</b>(<i></i>)
|
||||||
<p>
|
<p>
|
||||||
Prueft bei neuen ACLs bestehende Verbindungen.
|
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>
|
</p><a NAME="RevPiSlave.newlogfile" ID="RevPiSlave.newlogfile"></a>
|
||||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||||
RevPiSlave.newlogfile</h3>
|
RevPiSlave.newlogfile</h3>
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ mqttserver.__author__?9
|
|||||||
mqttserver.__copyright__?9
|
mqttserver.__copyright__?9
|
||||||
mqttserver.__license__?9
|
mqttserver.__license__?9
|
||||||
picontrolserver.RevPiSlave.check_connectedacl?4()
|
picontrolserver.RevPiSlave.check_connectedacl?4()
|
||||||
|
picontrolserver.RevPiSlave.disconnect_all?4()
|
||||||
picontrolserver.RevPiSlave.newlogfile?4()
|
picontrolserver.RevPiSlave.newlogfile?4()
|
||||||
picontrolserver.RevPiSlave.run?4()
|
picontrolserver.RevPiSlave.run?4()
|
||||||
picontrolserver.RevPiSlave.stop?4()
|
picontrolserver.RevPiSlave.stop?4()
|
||||||
|
|||||||
@@ -70,6 +70,12 @@ class RevPiSlave(Thread):
|
|||||||
)
|
)
|
||||||
dev._acl = level
|
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):
|
def newlogfile(self):
|
||||||
"""Konfiguriert die FileHandler auf neue Logdatei."""
|
"""Konfiguriert die FileHandler auf neue Logdatei."""
|
||||||
pass
|
pass
|
||||||
@@ -80,6 +86,7 @@ class RevPiSlave(Thread):
|
|||||||
|
|
||||||
# Socket öffnen und konfigurieren bis Erfolg oder Ende
|
# Socket öffnen und konfigurieren bis Erfolg oder Ende
|
||||||
self.so = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
self.so = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
self.so.settimeout(2)
|
||||||
while not self._evt_exit.is_set():
|
while not self._evt_exit.is_set():
|
||||||
try:
|
try:
|
||||||
self.so.bind((self._bindip, self._port))
|
self.so.bind((self._bindip, self._port))
|
||||||
@@ -97,9 +104,11 @@ class RevPiSlave(Thread):
|
|||||||
self.exitcode = -1
|
self.exitcode = -1
|
||||||
|
|
||||||
# Verbindung annehmen
|
# Verbindung annehmen
|
||||||
proginit.logger.info("accept new connection for revpinetio")
|
|
||||||
try:
|
try:
|
||||||
tup_sock = self.so.accept()
|
tup_sock = self.so.accept()
|
||||||
|
proginit.logger.info("accepted new connection for revpinetio")
|
||||||
|
except socket.timeout:
|
||||||
|
continue
|
||||||
except Exception:
|
except Exception:
|
||||||
if not self._evt_exit.is_set():
|
if not self._evt_exit.is_set():
|
||||||
proginit.logger.exception("accept exception")
|
proginit.logger.exception("accept exception")
|
||||||
|
|||||||
@@ -750,8 +750,8 @@ class RevPiPyLoad():
|
|||||||
if self.mqtt and self.th_plcmqtt is not None:
|
if self.mqtt and self.th_plcmqtt is not None:
|
||||||
self.th_plcmqtt.reload_revpimodio()
|
self.th_plcmqtt.reload_revpimodio()
|
||||||
|
|
||||||
# ProcImgServer anhalten zum neu laden
|
# Alle Verbindungen von ProcImgServer trennen
|
||||||
self.stop_plcslave()
|
self.th_plcslave.disconnect_all()
|
||||||
|
|
||||||
# XML Prozessabbildserver neu laden
|
# XML Prozessabbildserver neu laden
|
||||||
if self.xml_ps is not None:
|
if self.xml_ps is not None:
|
||||||
|
|||||||
Reference in New Issue
Block a user