cic-internal-integration/apps/data-seeding/scripts/run_ussd_user_imports.sh

80 lines
2.0 KiB
Bash
Raw Normal View History

#! /bin/bash
2021-07-19 23:30:04 +02:00
set -u
set -e
contract_migration_complete=0
retry_count=0
retry_sleep=30 #seconds
retry_limit="$((${TIMEOUT_MINUTES:-10}*60/2))"
while [[ $contract_migration_complete -ne 1 ]]
do
if [[ -f "$CIC_DATA_DIR/.env" ]] && grep -q CIC_DECLARATOR_ADDRESS $CIC_DATA_DIR/.env
then
echo "🤜💥🤛 data-seeding found the output of contract-migration!"
source /tmp/cic/config/.env
env
contract_migration_complete=1
elif [[ $retry_count -ge $retry_limit ]]
then
echo "😢 data-seeding timeout waiting for contract migration to finish." >&2
exit 1
else
echo "⏳ data-seeding waiting for contract-migration output $retry_count:$retry_limit ..."
((retry_count= $retry_count + $retry_sleep))
sleep $retry_sleep
fi
done
2021-07-19 23:30:04 +02:00
while getopts ":n:o:g:" opt; do
case $opt in
n) NUMBER_OF_USERS="$OPTARG"
;;
o) OUT_DIR="$OPTARG"
;;
\?) echo "Invalid option -$OPTARG" >&2
;;
esac
done
# using timeout because the timeout flag for celery inspect does not work
timeout 5 celery inspect ping -b $CELERY_BROKER_URL
if [[ $? -eq 124 ]]
then
>&2 echo "Celery workers not available. Is the CELERY_BROKER_URL ($CELERY_BROKER_URL) correct?"
exit 1
fi
if [[ -d $OUT_DIR ]]
then
echo "found existing OUT_DIR cleaning up..."
rm -rf $OUT_DIR
mkdir -p $OUT_DIR
else
echo "OUT_DIR does not exist creating it."
mkdir -p $OUT_DIR
fi
echo "creating accounts"
python create_import_users.py --dir $OUT_DIR $NUMBER_OF_USERS
echo "purging existing ussd tasks..."
celery -A cic_ussd.import_task purge -Q cic-import-ussd --broker $CELERY_BROKER_URL -f
echo "running import_balance in the background..."
python cic_ussd/import_balance.py -v -c config -p $ETH_PROVIDER \
-r $CIC_REGISTRY_ADDRESS --token-symbol $TOKEN_SYMBOL -y $KEYSTORE_FILE_PATH $OUT_DIR 2>&1 &
echo "import_balance pid: $!"
echo "importing accounts"
python cic_ussd/import_users.py -vv -c config --ussd-host $USER_USSD_HOST --ussd-port $USER_USSD_PORT --ussd-no-ssl out