mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 00:31:14 +00:00
66 lines
2.4 KiB
Bash
Executable File
66 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@
|
|
|
|
session="$(@CMAKE_BINARY_DIR@/fairmq/fairmq-uuid-gen -h)"
|
|
chan1="data1"
|
|
chan2="data2"
|
|
ackChan="ack"
|
|
chan1Addr="/tmp/fmq_$session""_""$chan1"
|
|
chan2Addr="/tmp/fmq_$session""_""$chan2"
|
|
ackChanAddr="/tmp/fmq_$session""_""$ackChan"
|
|
|
|
trap 'set +e; kill -TERM $SAMPLER1_PID; kill -TERM $SAMPLER2_PID; kill -TERM $SINK_PID; wait $SAMPLER1_PID; wait $SAMPLER2_PID; wait $SINK_PID; @CMAKE_BINARY_DIR@/fairmq/fairmq-shmmonitor --cleanup --session $SESSION; rm $chan1Addr; rm $chan2Addr; rm $ackChanAddr; exit 0' TERM
|
|
|
|
SINK="fairmq-ex-multiple-transports-sink"
|
|
SINK+=" --id sink1"
|
|
SINK+=" --verbosity veryhigh --severity debug"
|
|
SINK+=" --shm-segment-size 100000000"
|
|
SINK+=" --shm-monitor true"
|
|
SINK+=" --session $session"
|
|
SINK+=" --max-iterations 1"
|
|
SINK+=" --control static --color false"
|
|
SINK+=" --transport shmem"
|
|
SINK+=" --channel-config name=$chan1,type=pull,method=connect,address=ipc://$chan1Addr"
|
|
SINK+=" name=$chan2,type=pull,method=connect,address=ipc://$chan2Addr,transport=zeromq"
|
|
SINK+=" name=$ackChan,type=pub,method=connect,address=ipc://$ackChanAddr,transport=zeromq"
|
|
@CMAKE_CURRENT_BINARY_DIR@/$SINK &
|
|
SINK_PID=$!
|
|
|
|
SAMPLER1="fairmq-ex-multiple-transports-sampler1"
|
|
SAMPLER1+=" --id sampler1"
|
|
SAMPLER1+=" --session $session"
|
|
SAMPLER1+=" --verbosity veryhigh --severity debug"
|
|
SAMPLER1+=" --shm-segment-size 100000000"
|
|
SAMPLER1+=" --shm-monitor true"
|
|
SAMPLER1+=" --max-iterations 1"
|
|
SAMPLER1+=" --control static --color false"
|
|
SAMPLER1+=" --transport shmem"
|
|
SAMPLER1+=" --channel-config name=$chan1,type=push,method=bind,address=ipc://$chan1Addr"
|
|
SAMPLER1+=" name=$ackChan,type=sub,method=bind,address=ipc://$ackChanAddr,transport=zeromq"
|
|
@CMAKE_CURRENT_BINARY_DIR@/$SAMPLER1 &
|
|
SAMPLER1_PID=$!
|
|
|
|
SAMPLER2="fairmq-ex-multiple-transports-sampler2"
|
|
SAMPLER2+=" --id sampler2"
|
|
SAMPLER2+=" --session $session"
|
|
SAMPLER2+=" --verbosity veryhigh --severity debug"
|
|
SAMPLER2+=" --shm-segment-size 100000000"
|
|
SAMPLER2+=" --shm-monitor true"
|
|
SAMPLER2+=" --max-iterations 1"
|
|
SAMPLER2+=" --control static --color false"
|
|
SAMPLER2+=" --transport zeromq"
|
|
SAMPLER2+=" --channel-config name=$chan2,type=push,method=bind,address=ipc://$chan2Addr"
|
|
@CMAKE_CURRENT_BINARY_DIR@/$SAMPLER2 &
|
|
SAMPLER2_PID=$!
|
|
|
|
wait $SAMPLER1_PID
|
|
wait $SAMPLER2_PID
|
|
wait $SINK_PID
|
|
|
|
set +e
|
|
rm $chan1Addr; rm $chan2Addr; rm $ackChanAddr
|
|
exit 0
|