#!/usr/bin/env bash ################################################################################ # Copyright (C) 2019 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH # # # # This software is distributed under the terms of the # # GNU Lesser General Public Licence (LGPL) version 3, # # copied verbatim in the file "LICENSE" # ################################################################################ set -e cleanup() { dds-session stop $1 echo "CLEANUP PERFORMED" } source @DDS_INSTALL_PREFIX@/DDS_env.sh export PATH=@BIN_DIR@:@PLUGIN_DIR@:$PATH exec 5>&1 output=$(dds-session start | tee >(cat - >&5)) export DDS_SESSION_ID=$(echo ${output} | grep "DDS session ID: " | cut -d' ' -f4) echo "SESSION ID: ${DDS_SESSION_ID}" trap "cleanup ${DDS_SESSION_ID}" EXIT requiredNofAgents=12 dds-submit -r localhost -n ${requiredNofAgents} dds-info --wait-for-idle-agents ${requiredNofAgents} topologyFile=@DATA_DIR@/ex-dds-topology.xml echo "TOPOLOGY FILE: ${topologyFile}" dds-topology --disable-validation --activate ${topologyFile} echo "------------------------" echo "...waiting for Topology to finish..." sampler_and_sink="main/(Sampler|Sink)" fairmq-dds-command-ui -p $sampler_and_sink -w "RUNNING->READY" echo "...$sampler_and_sink are READY, sending shutdown..." fairmq-dds-command-ui -c q! -w "EXITING" echo "...waiting for ${requiredNofAgents} idle agents..." dds-info --wait-for-idle-agents ${requiredNofAgents} echo "------------------------" dds-topology --stop dds-agent-cmd getlog -a logDir="${wrkDir}/logs" for file in $(find "${logDir}" -name "*.tar.gz"); do tar -xf ${file} -C "${logDir}" ; done echo "AGENT LOG FILES IN: ${logDir}" # Cleanup function is called by EXIT trap