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
							 |