diff --git a/federation/dynamic-schema/start.sh b/federation/dynamic-schema/start.sh old mode 100644 new mode 100755 index 6bb75b1..6e6b8a1 --- a/federation/dynamic-schema/start.sh +++ b/federation/dynamic-schema/start.sh @@ -3,25 +3,24 @@ set -eumo pipefail function cleanup { - kill "$PRODUCTS_ROVER_PID" - kill "$REVIEWS_ROVER_PID" - kill "$ACCOUNTS_PID" - kill "$PRODUCTS_PID" - kill "$REVIEWS_PID" + for pid in "${PRODUCTS_ROVER_PID:-}" "${REVIEWS_ROVER_PID:-}" "${ACCOUNTS_PID:-}" "${PRODUCTS_PID:-}" "${REVIEWS_PID:-}"; do + # try kill all registered pids + [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null && kill "$pid" || echo "Could not kill $pid" + done } trap cleanup EXIT -cargo build --bin static-federation-accounts -cargo build --bin static-federation-products -cargo build --bin static-federation-reviews +cargo build --bin dynamic-federation-accounts +cargo build --bin dynamic-federation-products +cargo build --bin dynamic-federation-reviews -cargo run --bin static-federation-accounts & +cargo run --bin dynamic-federation-accounts & ACCOUNTS_PID=$! -cargo run --bin static-federation-products & +cargo run --bin dynamic-federation-products & PRODUCTS_PID=$! -cargo run --bin static-federation-reviews & +cargo run --bin dynamic-federation-reviews & REVIEWS_PID=$! sleep 3 @@ -33,4 +32,4 @@ PRODUCTS_ROVER_PID=$! sleep 1 rover dev --url http://localhost:4003 --name reviews & REVIEWS_ROVER_PID=$! -fg %4 \ No newline at end of file +fg %4 diff --git a/federation/static-schema/start.sh b/federation/static-schema/start.sh old mode 100644 new mode 100755 index 0c931dd..d174905 --- a/federation/static-schema/start.sh +++ b/federation/static-schema/start.sh @@ -3,25 +3,24 @@ set -eumo pipefail function cleanup { - kill "$PRODUCTS_ROVER_PID" - kill "$REVIEWS_ROVER_PID" - kill "$ACCOUNTS_PID" - kill "$PRODUCTS_PID" - kill "$REVIEWS_PID" + for pid in "${PRODUCTS_ROVER_PID:-}" "${REVIEWS_ROVER_PID:-}" "${ACCOUNTS_PID:-}" "${PRODUCTS_PID:-}" "${REVIEWS_PID:-}"; do + # try kill all registered pids + [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null && kill "$pid" || echo "Could not kill $pid" + done } trap cleanup EXIT -cargo build --bin dynamic-federation-accounts -cargo build --bin dynamic-federation-products -cargo build --bin dynamic-federation-reviews +cargo build --bin static-federation-accounts +cargo build --bin static-federation-products +cargo build --bin static-federation-reviews -cargo run --bin dynamic-federation-accounts & +cargo run --bin static-federation-accounts & ACCOUNTS_PID=$! -cargo run --bin dynamic-federation-products & +cargo run --bin static-federation-products & PRODUCTS_PID=$! -cargo run --bin dynamic-federation-reviews & +cargo run --bin static-federation-reviews & REVIEWS_PID=$! sleep 3