parallel/testsuite/tests-to-run/parallel-local-sql.sh

82 lines
2.1 KiB
Bash
Raw Normal View History

2016-01-01 14:12:43 +00:00
#!/bin/bash
export SQLITE=sqlite3:///%2Frun%2Fshm%2Fparallel.db
export PG=pg://`whoami`:`whoami`@lo/`whoami`
export MYSQL=mysql://`whoami`:`whoami`@lo/`whoami`
2016-01-01 14:12:43 +00:00
export DEBUG=false
2016-01-01 14:12:43 +00:00
p_showsqlresult() {
SERVERURL=$1
TABLE=$2
sql $SERVERURL "select Host,Command,V1,V2,Stdout,Stderr from $TABLE order by seq;"
}
2016-01-01 14:12:43 +00:00
p_wrapper() {
INNER=$1
SERVERURL=$2
TABLE=TBL$RANDOM
DBURL=$SERVERURL/$TABLE
T1=$(tempfile)
T2=$(tempfile)
eval "$INNER"
echo Exit=$?
wait
echo Exit=$?
$DEBUG && sort -u $T1 $T2;
rm $T1 $T2
p_showsqlresult $SERVERURL $TABLE
$DEBUG || sql $SERVERURL "drop table $TABLE;" >/dev/null
}
2016-01-01 14:12:43 +00:00
p_sqlandworker() {
(sleep 2; parallel --sqlworker $DBURL sleep .3\;echo >$T1) &
parallel --sqlandworker $DBURL sleep .3\;echo ::: {1..5} ::: {a..e} >$T2;
}
export -f p_sqlandworker
2016-01-01 14:12:43 +00:00
par_sqlandworker() {
p_wrapper p_sqlandworker $1
}
2016-01-01 14:12:43 +00:00
p_sqlandworker_lo() {
(sleep 2; parallel -S lo --sqlworker $DBURL sleep .3\;echo >$T1) &
parallel -S lo --sqlandworker $DBURL sleep .3\;echo ::: {1..5} ::: {a..e} >$T2;
}
2016-01-01 14:12:43 +00:00
par_sqlandworker_lo() {
p_wrapper p_sqlandworker_lo $1
}
2016-01-01 14:12:43 +00:00
p_sqlandworker_results() {
(sleep 2; parallel --results /tmp/out--sql --sqlworker $DBURL sleep .3\;echo >$T1) &
parallel --results /tmp/out--sql --sqlandworker $DBURL sleep .3\;echo ::: {1..5} ::: {a..e} >$T2;
}
2016-01-01 14:12:43 +00:00
par_sqlandworker_results() {
p_wrapper p_sqlandworker_results $1
}
p_sqlandworker_linebuffer() {
(sleep 2; parallel --linebuffer --sqlworker $DBURL sleep .3\;echo >$T1) &
parallel --linebuffer --sqlandworker $DBURL sleep .3\;echo ::: {1..5} ::: {a..e} >$T2;
}
par_sqlandworker_linebuffer() {
p_wrapper p_sqlandworker_linebuffer $1
}
p_sqlandworker_unbuffer() {
(sleep 2; parallel -u --sqlworker $DBURL sleep .3\;echo >$T1) &
parallel -u --sqlandworker $DBURL sleep .3\;echo ::: {1..5} ::: {a..e} >$T2;
}
par_sqlandworker_unbuffer() {
p_wrapper p_sqlandworker_unbuffer $1
}
export -f $(compgen -A function | egrep 'p_|par_')
# Tested that -j0 in parallel is fastest (up to 15 jobs)
compgen -A function | grep par_ | sort |
stdout parallel -vj0 -k --tag --joblog /tmp/jl-`basename $0` :::: - ::: \$MYSQL \$PG \$SQLITE