diff options
Diffstat (limited to 'mockrun')
| -rwxr-xr-x | mockrun | 62 | 
1 files changed, 62 insertions, 0 deletions
| @@ -0,0 +1,62 @@ +#!/bin/bash + +# ARCH detection and check +if [ "$(uname -m)" = "x86_64" ]; then +	QUEUE=mockx +	REDISCLI="valkey-cli" +else +	QUEUE=mocka +	REDISCLI="valkey-cli -h remi" +fi + +START=$(date +%s) +CHECK=$($REDISCLI ping) +[ "$CHECK" = "PONG" ] || exit 1 + +if [ "$1" = "-h" -o "$1" = "--help" ]; then +	echo "Usage $0 [ option ]" +	echo "   -e --erase to empty the queue" +	echo "   -l --list  to list the queue" +	echo "   -p --perm  to run permanently" + +	exit 0 + +elif [ "$1" = "-l" -o  "$1" = "--list" ]; then +	$REDISCLI smembers $QUEUE +	exit 0 + +elif [ "$1" = "-e" -o  "$1" = "--erase" ]; then +	$REDISCLI del $QUEUE +	exit 0 +fi + +while true +do +	CMD=$($REDISCLI spop $QUEUE) +	if [ -z "$CMD" ]; then +		if [ "$1" = "-p" -o "$1" = "--perm" ]; then +			echo -n . +			sleep 1 +			continue +		else +			break +		fi +	fi +	TXT="$(echo $CMD | sed -e 's/^.*-r //;s/ .*$//')        " +	RPM="$(echo $CMD | sed -e 's:\.rpm.*$:.rpm:;s:^.*/::')" +	echo -en "\r$(date +%X)     $RPM     ${TXT:0:10} " +	$CMD --uniqueext=$PPID && echo " Ok." || echo " Error !" +done + +# Elapsed time +END=$(date +%s) +DUR=$(expr $END - $START) +HOUR=$(expr $DUR / 3600) +MIN=$(expr $DUR % 3600 / 60) +SEC=$(expr $DUR % 60) +[ $SEC -lt 10 -a $DUR  -gt 60 ] && SEC="0$SEC" +[ $MIN -lt 10 -a $HOUR -gt  0 ] && MIN="0$MIN" +DUR="${SEC}\"" +[ $MIN  -gt 0 ] && DUR="${MIN}'${SEC}\"" +[ $HOUR -gt 0 ] && DUR="${HOUR}h${MIN}'${SEC}\"" +echo "$(date +%X)    Done in ${DUR}" | 
