#!/usr/bin/env bash
# script to launch workers with bash # it needs to initialize ruby environment, cd to working dir, and # get path
# function canonpath () # { # echo $(cd $(dirname $1); pwd -P)/$(basename $1) # }
absolute_path=“$(cd ”${0%/*}“ 2>/dev/null; echo ”$PWD“/”${0##*/}“)”
# absolute_path=canonpath $0; echo Absolute path: $absolute_path echo Launching at HOST: hostname echo With user: whoami
main_worker_path=`dirname $absolute_path`
echo $main_worker_path if [ ! “$#” -eq “6” ] && [ ! “$#” -eq “5” ]; then
echo "Only $# parameters provided" echo "Usage: $0 worker_id server_ip server_port worker_file init_dir init_file" exit;
fi
worker_id=$1; server_ip=$2; server_port=$3; worker_file=$4; init_dir=$5; init_file=$6; echo “Launching worker: $worker_id”
if [ $init_file ] && [ -e $init_file ]; then
echo "Initializing env" source $init_file;
fi
if [ -e $init_dir ]; then
echo "Changing to $init_dir" cd $init_dir;
fi
echo Launching: ${main_worker_path}/main_worker.rb $worker_id $server_ip $server_port $worker_file
${main_worker_path}/main_worker.rb $worker_id $server_ip $server_port $worker_file