cic-internal-integration/apps/data-seeding/scripts/run_ussd_user_imports.sh
2021-08-05 16:29:58 -07:00

68 lines
1.6 KiB
Bash

#! /bin/sh
set -u
set -e
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 > import_task_log.log &
import_pid=$!
echo "import_balance pid: $import_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
echo "importing user meta data"
node cic_meta/import_meta.js $OUT_DIR $NUMBER_OF_USERS
echo "import meta prefereneces"
node cic_meta/import_meta_preferences.js $OUT_DIR $NUMBER_OF_USERS
echo "Running validation!"
python verify.py -v -c config -r $CIC_REGISTRY_ADDRESS -p $ETH_PROVIDER \
--token-symbol $TOKEN_SYMBOL $OUT_DIR
kill $import_pid
exit 0