34 lines
784 B
Text
34 lines
784 B
Text
![]() |
#!/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
|