Move consumer count info to individual files.

This is more easily composable among multiple puppet recipes etc.
This commit is contained in:
Neil Williams
2012-12-12 23:55:07 -08:00
parent d374e0e26c
commit afeabf204f
2 changed files with 20 additions and 18 deletions

View File

@@ -345,6 +345,7 @@ service haproxy restart
###############################################################################
# Upstart Environment
###############################################################################
CONSUMER_CONFIG_ROOT=$REDDIT_HOME/consumer-count.d
cp $REDDIT_HOME/reddit/upstart/* /etc/init/
if [ ! -f /etc/default/reddit ]; then
@@ -353,7 +354,7 @@ export REDDIT_ROOT=$REDDIT_HOME/reddit/r2
export REDDIT_INI=$REDDIT_HOME/reddit/r2/run.ini
export REDDIT_USER=$REDDIT_USER
export REDDIT_GROUP=$REDDIT_GROUP
export REDDIT_CONSUMER_CONFIG=$REDDIT_HOME/consumer-counts
export REDDIT_CONSUMER_CONFIG=$CONSUMER_CONFIG_ROOT
alias wrap-job=$REDDIT_HOME/reddit/scripts/wrap-job
alias manage-consumers=$REDDIT_HOME/reddit/scripts/manage-consumers
DEFAULT
@@ -362,17 +363,21 @@ fi
###############################################################################
# Queue Processors
###############################################################################
if [ ! -f $REDDIT_HOME/consumer-counts ]; then
cat > $REDDIT_HOME/consumer-counts <<COUNTS
log_q 0
cloudsearch_q 0
scraper_q 0
commentstree_q 1
newcomments_q 1
vote_comment_q 1
vote_link_q 1
COUNTS
fi
mkdir -p $CONSUMER_CONFIG_ROOT
function set_consumer_count {
if [ ! -f $CONSUMER_CONFIG_ROOT/$1 ]; then
echo $2 > $CONSUMER_CONFIG_ROOT/$1
fi
}
set_consumer_count log_q 0
set_consumer_count cloudsearch_q 0
set_consumer_count scraper_q 0
set_consumer_count commentstree_q 1
set_consumer_count newcomments_q 1
set_consumer_count vote_link_q 1
set_consumer_count vote_comment_q 1
initctl emit reddit-start

View File

@@ -1,11 +1,8 @@
#!/bin/bash
command=${UPSTART_JOB#reddit-consumers-}
while read consumer instance_count; do
# blank lines in the file should be ignored
if [ -z "$consumer" ]; then
continue
fi
for consumer in $REDDIT_CONSUMER_CONFIG/*; do
instance_count=$(cat $REDDIT_CONSUMER_CONFIG/$consumer)
# allow targeting which consumer the event is meant for (defaulting to 'all')
if [ ! -z "$TARGET" -a "x$TARGET" != "xall" -a "x$TARGET" != "x$consumer" ]; then
@@ -15,5 +12,5 @@ while read consumer instance_count; do
for i in $(seq 1 "$instance_count"); do
"/sbin/$command" "reddit-consumer-$consumer" "x=$i"
done
done < "$REDDIT_CONSUMER_CONFIG"
done