mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2026-08-06 17:22:26 +02:00
dev: zmq hwm rebind (#1480)
Build on RHEL9 docker image / build (push) Successful in 5m3s
Build on RHEL8 docker image / build (push) Successful in 5m43s
Build and Deploy on local RHEL9 / build (push) Successful in 2m18s
Build and Deploy on local RHEL8 / build (push) Successful in 5m5s
Run Simulator Tests on local RHEL9 / build (push) Successful in 20m8s
Run Simulator Tests on local RHEL8 / build (push) Successful in 23m45s
Build on RHEL9 docker image / build (push) Successful in 5m3s
Build on RHEL8 docker image / build (push) Successful in 5m43s
Build and Deploy on local RHEL9 / build (push) Successful in 2m18s
Build and Deploy on local RHEL8 / build (push) Successful in 5m5s
Run Simulator Tests on local RHEL9 / build (push) Successful in 20m8s
Run Simulator Tests on local RHEL8 / build (push) Successful in 23m45s
* move hwm into the zmq constructor and reconstruct the socket instead of rebind. seems to work better than rebind (most connections cant bind so fast?) * fix after merge * added tests to reconnect zmq sockets when setting rx zmqport and rx zmqhwm, changed the tests scripts a bit to make the receiver starting tcp port configurable * tests: slsreceiver also starting up with 2000 as default tcp port, using latest cli args for receiver and multi receiver * releasr notes --------- Co-authored-by: AliceMazzoleni99 <alice.mazzoleni@psi.ch>
This commit is contained in:
@@ -12,8 +12,10 @@ from datetime import timedelta
|
||||
from contextlib import contextmanager
|
||||
|
||||
from slsdet import Detector, Ctb, detectorSettings, burstMode
|
||||
from slsdet.defines import DEFAULT_TCP_RX_PORTNO, DEFAULT_UDP_DST_PORTNO
|
||||
SERVER_START_PORTNO=1900
|
||||
from slsdet.defines import DEFAULT_UDP_DST_PORTNO
|
||||
DET_START_TCP_PORTNO=1900
|
||||
RX_START_TCP_PORTNO=2000
|
||||
START_ZMQ_PORTNO=8000
|
||||
|
||||
LOG_PREFIX_FNAME = "/tmp/slsDetectorPackage_"
|
||||
|
||||
@@ -230,9 +232,9 @@ def runProcess(name, cmd, fp, log_file_name = None, quiet_mode=False):
|
||||
|
||||
def startDetectorVirtualServer(name :str, num_mods, fp, no_log_file = False, quiet_mode=False):
|
||||
for i in range(num_mods):
|
||||
port_no = SERVER_START_PORTNO + (i * 2)
|
||||
port_no = DET_START_TCP_PORTNO + (i * 2)
|
||||
cmd = [str(build_dir / (name + 'DetectorServer_virtual')), '-p', str(port_no)]
|
||||
fname = LOG_PREFIX_FNAME + "virtual_det_" + name + "_" + str(SERVER_START_PORTNO) + ".txt"
|
||||
fname = LOG_PREFIX_FNAME + "virtual_det_" + name + "_" + str(DET_START_TCP_PORTNO) + ".txt"
|
||||
if no_log_file:
|
||||
fname = None
|
||||
startProcessInBackground(cmd, fp, fname, quiet_mode)
|
||||
@@ -257,7 +259,7 @@ def connectToVirtualServers(name, num_mods, ctb_object=False):
|
||||
counts_sec = 5
|
||||
while (counts_sec != 0):
|
||||
try:
|
||||
d.virtual = [num_mods, SERVER_START_PORTNO] # sets the hostnames
|
||||
d.virtual = [num_mods, DET_START_TCP_PORTNO] # sets the hostnames
|
||||
break
|
||||
except Exception as e:
|
||||
# stop server still not up, wait a bit longer
|
||||
@@ -272,13 +274,11 @@ def connectToVirtualServers(name, num_mods, ctb_object=False):
|
||||
|
||||
def startReceiver(num_mods, fp, no_log_file = False, quiet_mode=False):
|
||||
if num_mods == 1:
|
||||
cmd = [str(build_dir / 'slsReceiver')]
|
||||
cmd = [str(build_dir / 'slsReceiver'), '-p', str(RX_START_TCP_PORTNO)]
|
||||
fname = LOG_PREFIX_FNAME + "slsReceiver.txt"
|
||||
else:
|
||||
cmd = [str(build_dir / 'slsMultiReceiver'), str(DEFAULT_TCP_RX_PORTNO), str(num_mods)]
|
||||
cmd = [str(build_dir / 'slsMultiReceiver'), '-p', str(RX_START_TCP_PORTNO), '-n', str(num_mods)]
|
||||
fname = LOG_PREFIX_FNAME + "slsMultiReceiver.txt"
|
||||
# in 10.0.0
|
||||
#cmd = ['slsMultiReceiver', '-p', str(DEFAULT_TCP_RX_PORTNO), '-n', str(num_mods)]
|
||||
|
||||
if no_log_file:
|
||||
fname = None
|
||||
@@ -300,6 +300,7 @@ def loadConfig(name, rx_hostname = 'localhost', settingsdir = None, log_file_fp
|
||||
if d.numinterfaces == 2:
|
||||
d.udp_dstport2 = DEFAULT_UDP_DST_PORTNO + 1
|
||||
|
||||
d.rx_tcpport = RX_START_TCP_PORTNO
|
||||
d.rx_hostname = rx_hostname
|
||||
d.udp_dstip = 'auto'
|
||||
if name != "eiger":
|
||||
@@ -308,6 +309,9 @@ def loadConfig(name, rx_hostname = 'localhost', settingsdir = None, log_file_fp
|
||||
if num_interfaces == 2:
|
||||
d.udp_dstip2 = 'auto'
|
||||
|
||||
d.zmqport = START_ZMQ_PORTNO
|
||||
d.rx_zmqport = START_ZMQ_PORTNO
|
||||
|
||||
if name == "jungfrau" or name == "moench":
|
||||
d.powerchip = 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user