Skip to content

Instantly share code, notes, and snippets.

@nikolawannabe
Created June 26, 2014 19:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nikolawannabe/4f5bcdd1a6954038f23f to your computer and use it in GitHub Desktop.
Save nikolawannabe/4f5bcdd1a6954038f23f to your computer and use it in GitHub Desktop.
Control Many instances with Upstart
======================
description "Controls multiple instances of the grunt-one-execer job"
start on runlevel [23]
task
pre-start script
transport_mem_kb=1572864
mem_kb=$(cat /proc/meminfo | head -1 | awk '{print $2}')
shippers=$(($mem_kb/$transport_mem_kb))
# start the number of shippers we have memory for
for i in `seq 1 $shippers`;
do
start grunt-one-execer N=$i
done
end script
post-stop script
transport_mem_kb=1572864
mem_kb=$(cat /proc/meminfo | head -1 | awk '{print $2}')
shippers=$(($mem_kb/$transport_mem_kb))
for i in `seq 1 $shippers`;
do
stop grunt-one-execer N=$i || /bin/true
done
end script
====================
# Starts a single instance-based execer. This job is controlled by
# grunt-many-execer
description "one execer grunt"
instance $N
respawn
setuid myuser
env APP_ROOT=/opt/apps/grunt
exec ${APP_ROOT}/bin/grunt -prod \
-type execer \
-execer-rackspace-credentials ${APP_ROOT}/conf/execer-rackspace.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment