33 lines
749 B
Plaintext
33 lines
749 B
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
if [[ -z $PROCESS_COUNT ]]; then
|
||
|
PROCESS_COUNT=$(grep ^processor /proc/cpuinfo | wc -l)
|
||
|
fi
|
||
|
|
||
|
if [[ "$VERBOSE" = "true" ]]; then
|
||
|
rm -Rfv logs
|
||
|
mkdir -p logs
|
||
|
out=logs/consumer_$$.log
|
||
|
else
|
||
|
out=/dev/null
|
||
|
fi
|
||
|
|
||
|
while :; do
|
||
|
|
||
|
if [[ $(pgrep -c -f queue_$PROJECTION.py) -lt $PROCESS_COUNT ]]; then
|
||
|
echo "Only" $(pgrep -c -f queue_$PROJECTION.py) "processes, starting another"
|
||
|
|
||
|
nohup nice -n 5 python queue_$PROJECTION.py &> $out < /dev/null &
|
||
|
pid=$!
|
||
|
echo "Consumer started, pid $pid"
|
||
|
sleep 0.1
|
||
|
[[ -f $out ]] && mv $out logs/consumer_$pid.log || echo "No $out logfile yet"
|
||
|
else
|
||
|
pgrep -a -f queue_$PROJECTION.py
|
||
|
sleep 15
|
||
|
exit
|
||
|
fi
|
||
|
|
||
|
sleep 5
|
||
|
done
|