oc-doc/docs/performance_test/insert_exec.sh

73 lines
1.4 KiB
Bash
Raw Normal View History

#!/bin/bash
TOKEN=""
WORFLOW=""
NB_EXEC=$1
TIME=$2
if [ -z "$NB_EXEC" ]; then
NB_EXEC=1
fi
# if (( NB_EXEC % 10 != 0 )); then
# echo "Met un chiffre rond stp"
# exit 0
# fi
if [ -z "$TIME" ]; then
TIME=1
fi
EXECS=$(((NB_EXEC+9) / 10))
echo EXECS=$EXECS
DAY=$(date +%d -u)
MONTH=$(date +%m -u)
HOUR=$(date +%H -u)
MINUTE=$(date -d "$TIME min" +"%M" -u)
SECOND=$(date +%s -u)
start_loop=$(date +%s)
for ((i = 1; i <= $EXECS; i++)); do
(
start_req=$(date +%s)
echo "Exec $i"
CRON="0-10 $MINUTE $HOUR $DAY $MONTH *"
echo "$CRON"
START="2025-$MONTH-$DAY"T"$HOUR:$MINUTE:00.012Z"
END_MONTH=$(printf "%02d" $((MONTH + 1)))
END="2025-$END_MONTH-$DAY"T"$HOUR:$MINUTE:00.012Z"
# PAYLOAD=$(printf '{"id":null,"name":null,"cron":"","mode":1,"start":"%s","end":"%s"}' "$START" "$END")
PAYLOAD=$(printf '{"id":null,"name":null,"cron":"%s","mode":1,"start":"%s","end":"%s"}' "$CRON" "$START" "$END")
# echo $PAYLOAD
curl -X 'POST' "http://localhost:8000/scheduler/$WORKFLOW" \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d "$PAYLOAD" \
-H "Authorization: Bearer $TOKEN" -w '\n'
end=$(date +%s)
duration=$((end - start_req))
echo "Début $start_req"
echo "Fin $end"
echo "Durée d'exécution $i : $duration secondes"
)&
done
wait
end_loop=$(date +%s)
total_time=$((end_loop - start_loop))
echo "Durée d'exécution total : $total_time secondes"