33 lines
784 B
Bash
Executable file
33 lines
784 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -x
|
|
set -e
|
|
|
|
DIR_PATH=$(dirname $0)
|
|
|
|
$DIR_PATH/update
|
|
|
|
trap_with_arg() { # from https://stackoverflow.com/a/2183063/804678
|
|
local func="$1"; shift
|
|
for sig in "$@"; do
|
|
trap "$func $sig" "$sig"
|
|
done
|
|
}
|
|
|
|
stop() {
|
|
trap - SIGINT EXIT
|
|
printf '\n%s\n' "received $1, killing child processes"
|
|
kill -s SIGINT 0
|
|
}
|
|
|
|
trap_with_arg 'stop' EXIT SIGINT SIGTERM SIGHUP
|
|
|
|
CLUSTER_COOKIE=`openssl rand -hex 8`
|
|
|
|
PORT=4002 elixir --sname two --cookie $CLUSTER_COOKIE -S mix phx.server 2>/dev/null &
|
|
PORT=4003 elixir --sname three --cookie $CLUSTER_COOKIE -S mix phx.server 2>/dev/null &
|
|
PORT=4004 elixir --sname four --cookie $CLUSTER_COOKIE -S mix phx.server 2>/dev/null &
|
|
|
|
$DIR_PATH/proxy &
|
|
|
|
PORT=4001 iex --sname one --cookie $CLUSTER_COOKIE -S mix phx.server
|