Files
interblue.pl/modules/pshowimporter/watch_import.sh
2024-10-25 14:16:28 +02:00

137 lines
3.4 KiB
Bash

#!/bin/bash
PHPCOMMAND=`php ./get_php_command.php`;
KEY=$1
if [ -x "$(command -v cpulimit)" ] && [ -f "./get_cpu_limit.php" ]
then
CPULIMIT=`php ./get_cpu_limit.php`;
cpulimit --limit=$CPULIMIT --pid=`pidof $PHPCOMMAND` --background;
fi
display_stat()
{
echo -n $1;
echo -n ": ";
echo $2;
}
view_stat()
{
if [ -f "./import-status/actual_row" ]
then
actual_row=`cat ./import-status/actual_row`;
error_rows=`cat ./import-status/error_rows`;
counter_imported_rows=`cat ./import-status/counter_imported_rows`;
counter_error_rows=`cat ./import-status/counter_error_rows`;
counter_skipped_rows=`cat ./import-status/counter_skipped_rows`;
filename=`cat ./import-status/filename`;
imported_references=`cat ./import-status/imported_references`;
display_stat "Plik" $filename;
display_stat "Aktualny obiekt" $actual_row;
display_stat "Zaimportowanych" $counter_imported_rows;
display_stat "Pominiętych" $counter_skipped_rows;
display_stat "Błędnych" $counter_error_rows;
fi
if [ -s "./import-queue" ]
then
echo;
echo "W kolejce oczekują:";
cat ./import-queue
echo;
fi
echo;
echo "Log importu:";
tail "./import-log/${filename}/`date +%d_%m_%Y`.log"
}
check_pid()
{
sleep 1;
ispid=$(pidof $PHPCOMMAND);
if [ -z $ispid ]
then
clear;
if [ -f "./import-status/actual_row" ]; then
echo "";
echo -n "Status: wznawianie";
echo $1;
view_stat;
$PHPCOMMAND ./direct_import_continue.php $KEY &
sleep 1;
if [ -x "$(command -v cpulimit)" ] && [ -f "./get_cpu_limit.php" ]
then
CPULIMIT=`php ./get_cpu_limit.php`;
cpulimit --limit=$CPULIMIT --pid=`pidof $PHPCOMMAND` --background;
fi
elif [ -s ./import-queue ]; then
echo "";
echo -n "Status: pobieranie z kolejki";
echo $1;
view_stat;
./direct.sh $KEY
exit;
else
echo "";
echo "";
echo " > > IMPORT ZAKOŃCZONY! < < ";
echo "";
exit;
fi
else
if [ -x "$(command -v cpulimit)" ] && [ -f "./get_cpu_limit.php" ]
then
CPULIMIT_TEMP=`php ./get_cpu_limit.php`;
# if $CPULIMIT not defined
if [ -z $CPULIMIT ]
then
echo "CPULIMIT not defined...";
CPULIMIT=$CPULIMIT_TEMP;
cpulimit --limit=$CPULIMIT --pid=`pidof $PHPCOMMAND` --background;
else
# if defined new value for cpu limit
if [ $CPULIMIT_TEMP -ne $CPULIMIT ]
then
echo "CPULIMIT changed...";
CPULIMIT=$CPULIMIT_TEMP;
ps aux | grep "cpulimit" | grep `pidof $PHPCOMMAND` | awk '{print $2}' | xargs kill;
cpulimit --limit=$CPULIMIT --pid=`pidof $PHPCOMMAND` --background;
fi
fi
fi
clear;
echo "";
echo -n "Status: importowanie";
echo $1;
view_stat;
fi
}
while [ 1=1 ] ; do
check_pid "."
check_pid ".."
check_pid "..."
check_pid "...."
check_pid "....."
done