Compare commits

..

No commits in common. "d2f30d8fe78a6f3d7d44a65b8edaa332f29bf332" and "676b3628bb6a3a5ff39a9de8e8e9ab345d954055" have entirely different histories.

5 changed files with 26 additions and 22 deletions

View file

@ -43,7 +43,7 @@ uuid="$(uuidgen)"
timestamp="$(date +%s)" timestamp="$(date +%s)"
json="{\"transaction_uuid\":\"$uuid\",\"controller_id\":\"$name\",\"timestamp\":\"$timestamp\",\"error_code\":\"10\",\"coordinates\":{\"lat\":1,\"lng\":1},\"battery_status\":\"98\",\"sample\":\"0\",\"storage\":\"uso del almacenamiento\",\"arduinos\":[$sensores]}" json="{\"transaction_uuid\":\"$uuid\",\"controller_id\":\"$name\",\"timestamp\":\"$timestamp\",\"error_code\":\"10\",\"coordinates\":{\"lat\":1,\"lng\":1},\"battery_status\":\"98\",\"sample\":\"0\",\"storage\":\"uso del almacenamiento\",\"arduinos\":[$sensores]}"
touch $install_dir/lock touch $install_dir/lock
file=$(date +%Y%m%d%H%M%S)-$uuid file=$(date +%Y%m%d%H%M%S)-$(uuidgen)
for ((i=1 ; i <=3 ; i++));do for ((i=1 ; i <=3 ; i++));do
if echo $json | $json_linter >/dev/null 2>&1 ;then if echo $json | $json_linter >/dev/null 2>&1 ;then
echo $json > $install_dir/stack/$file && rm $install_dir/lock && echo $((counter+1)) > $install_dir/counter && break echo $json > $install_dir/stack/$file && rm $install_dir/lock && echo $((counter+1)) > $install_dir/counter && break

View file

@ -1,3 +1,10 @@
get_stack () { get_stack () {
if [[ ! -z $1 && $1 == "wc" ]];then
ls $install_dir/stack | wc -l
else
ls $install_dir/stack | tail -1 ls $install_dir/stack | tail -1
fi
} }

View file

@ -15,10 +15,9 @@ echo -e "2. Creando directorios y copiando archivos"
sudo mkdir -vp $install_dir/archives/historical sudo mkdir -vp $install_dir/archives/historical
sudo mkdir -vp $install_dir/archives/logs sudo mkdir -vp $install_dir/archives/logs
sudo mkdir -vp $historical sudo mkdir $historical
sudo mkdir -vp $stack sudo mkdir $stack
sudo mkdir -vp $corrupt sudo mkdir $corrupt
sudo mkdir -vp $failed
echo "" echo ""
sudo cp -vr $files $install_dir sudo cp -vr $files $install_dir
sudo cp -v $config /etc/nodemecu.conf sudo cp -v $config /etc/nodemecu.conf

View file

@ -15,4 +15,3 @@ stack=$install_dir/stack
historical=$install_dir/historical historical=$install_dir/historical
log=$install_dir/errors.log log=$install_dir/errors.log
corrupt=$install_dir/corrupt corrupt=$install_dir/corrupt
failed=$install_dir/failed

View file

@ -13,35 +13,34 @@ for filename in $install_dir/stack/*;do
done done
while :;do while :;do
[ -f $install_dir/stop ] && break
[ -f $install_dir/lock ] && continue [ -f $install_dir/lock ] && continue
file=$(get_stack)
[ -z $file ] && sleep ${interval:-1}m && continue
ping -c 1 fsf.org > /dev/null 2>&1 || continue ping -c 1 fsf.org > /dev/null 2>&1 || continue
test_url="$(curl -s -X POST -o /dev/null -w "%{http_code}" $url)" test_url="$(curl -s -X POST -o /dev/null -w "%{http_code}" $url)"
if [ $test_url -ne 200 ];then if [ $test_url -eq 404 ];then
echo "$(date +%Y-%m-%d-%H:%M:%S) - $url - $test_url" >> $log && sleep 300 && continue echo "$(date +%Y-%m-%d-%H:%M:%S) - $url - $test_url" >> $log && sleep 300 && continue
fi fi
file=$(get_stack)
file="$stack/$file" [ -z $file ] && continue
local_transaction_uuid="$(echo "$file" | cut -d - -f 2-)" local_transaction_uuid=$(jq -r '."transaction_uuid"' $stack/$file)
remote_transaction=$(curl -s --connect-timeout 1 --show-error -w "~%{http_code}" -X POST -H "Content-Type: application/json" -d @$file $url 2> $curl_err) remote_transaction=$(curl -s --connect-timeout 0.9 --show-error -w "~%{http_code}" -X POST -H "Content-Type: application/json" -d @$stack/$file $url 2> $curl_err)
remote_response="$(echo $remote_transaction | cut -d '~' -f 1)" remote_response="$(echo $remote_transaction | cut -d '~' -f 1)"
server_error="$(echo $remote_transaction | cut -d '~' -f 2)" server_error="$(echo $remote_transaction | cut -d '~' -f 2)"
if [ ${#remote_response} -eq 36 ];then
if [ "$local_transaction_uuid" = "$remote_response" ]; then if [ $local_transaction_uuid == $remote_response ]; then
mv $file $historical mv $stack/$file $historical
echo -e "$remote_response: \e[92mOK\e[0m" echo -e "$remote_response: \e[92mOK\e[0m"
fi
else else
mv $file $failed
echo -e "$local_transaction_uuid: \e[91mFAIL\e[0m" echo -e "$local_transaction_uuid: \e[91mFAIL\e[0m"
# errores # errores
unset srv_msg unset srv_msg
unset curl_msg unset curl_msg
err_time=$(date +%Y-%m-%d-%H:%M:%S)
[ ! -z "$remote_response" ] && srv_msg="- $( echo $remote_response | grep -o '<body.*>.*</body>')" [ ! -z "$remote_response" ] && srv_msg="- $( echo $remote_response | grep -o '<body.*>.*</body>')"
[ -s "$curl_err" ] && curl_msg="- $(<$curl_err)" [ -s "$curl_err" ] && curl_msg="- $(</tmp/curl_err)"
echo $(date +%Y-%m-%d-%H:%M:%S) - $local_transaction_uuid - server status: $server_error $srv_msg $curl_msg >> $log echo $err_time - $local_transaction_uuid - server status: $server_error $srv_msg $curl_msg >> $log
rm $curl_err
fi fi
done done