parallel: Fixed locking bug in --sql for SQLite.

testsuite: Reworked parallel-local-sql.
This commit is contained in:
Ole Tange 2016-07-06 15:58:47 +02:00
parent eacc07bcb0
commit 11a8800751
4 changed files with 710 additions and 383 deletions

View file

@ -9904,6 +9904,10 @@ sub new {
my $dbh = DBI->connect($dsn, $userid, $password,
{ RaiseError => 1, AutoInactiveDestroy => 1 })
or die $DBI::errstr;
$dbh->{'PrintWarn'} = $Global::debug || 0;
$dbh->{'PrintError'} = $Global::debug || 0;
$dbh->{'RaiseError'} = $Global::debug || 0;
return bless {
'dbh' => $dbh,
'driver' => $driver,
@ -10085,13 +10089,19 @@ sub run {
if($DBI::errstr =~ /locked/) {
::debug("sql","Lock retry: $lockretry");
$lockretry++;
::usleep(rand()*300);
} else {
::error($DBI::errstr);
wait_and_exit(255);
}
}
}
if($lockretry >= 10) {
::die_bug("lockretry > 10");
}
if($rv < 0){
print $DBI::errstr;
::error($DBI::errstr);
::wait_and_exit(255);
}
return $sth;
}

View file

@ -2902,30 +2902,87 @@ Or if the regexps are fixed strings:
grep -F -f regexps.txt bigfile
There are 2 limiting factors: CPU and disk I/O. CPU is easy to
measure: If the B<grep> takes >90% CPU (e.g. when running top), then the
CPU is a limiting factor, and parallelization will speed this up. If
not, then disk I/O is the limiting factor, and depending on the disk
system it may be faster or slower to parallelize. The only way to know
for certain is to measure.
There are 3 limiting factors: CPU, RAM, and disk I/O.
If the CPU is the limiting factor parallelization should be done on the regexps:
RAM is easy to measure: If the B<grep> process takes up most of your
free memory (e.g. when running B<top>), then RAM is a limiting factor.
cat regexp.txt | parallel --pipe -L1000 --round-robin grep -f - bigfile
CPU is also easy to measure: If the B<grep> takes >90% CPU in B<top>,
then the CPU is a limiting factor, and parallelization will speed this
up.
If a line matches multiple regexps, the line may be duplicated. The
command will start one B<grep> per CPU and read I<bigfile> one time
per CPU, but as that is done in parallel, all reads except the first
will be cached in RAM. Depending on the size of I<regexp.txt> it may
be faster to use B<--block 10m> instead of B<-L1000>. If I<regexp.txt>
is too big to fit in RAM, remove B<--round-robin> and adjust
B<-L1000>. This will cause I<bigfile> to be read more times.
It is harder to see if disk I/O is the limiting factor, and depending
on the disk system it may be faster or slower to parallelize. The only
way to know for certain is to test and measure.
=head2 Limiting factor: RAM
The normal B<grep -f regexs.txt bigfile> works no matter the size of
bigfile, but if regexps.txt is so big it cannot fit into memory, then
you need to split this.
B<grep -F> takes around 100 bytes of RAM and B<grep> takes about 500
bytes of RAM per 1 byte of regexp. So if regexps.txt is 1% of your
RAM, then it may be too big.
If you can convert your regexps into fixed strings do that. E.g. if
the lines you are looking for in bigfile all looks like:
ID1 foo bar baz Identifier1 quux
fubar ID2 foo bar baz Identifier2
then your regexps.txt can be converted from:
ID1.*Identifier1
ID2.*Identifier2
into:
ID1 foo bar baz Identifier1
ID2 foo bar baz Identifier2
This way you can use B<grep -F> which takes around 80% less memory and
is much faster.
If it still does not fit in memory you can do this:
parallel --pipepart -a regexps.txt --block 1M grep -F -f - -n bigfile |
sort -un | perl -pe 's/^\d+://'
The 1M should be your free memory divided by the number of cores and
divided by 200 for B<grep -F> and by 1000 for normal B<grep>. On
GNU/Linux you can do:
free=$(awk '/^((Swap)?Cached|MemFree|Buffers):/ { sum += $2 }
END { print sum }' /proc/meminfo)
percpu=$((free / 200 / $(parallel --number-of-cores)))k
parallel --pipepart -a regexps.txt --block $percpu --compress grep -F -f - -n bigfile |
sort -un | perl -pe 's/^\d+://'
If you can live with duplicated lines and wrong order, it is faster to do:
parallel --pipepart -a regexps.txt --block $percpu --compress grep -F -f - bigfile
=head2 Limiting factor: CPU
If the CPU is the limiting factor parallelization should be done on
the regexps:
cat regexp.txt | parallel --pipe -L1000 --round-robin --compress grep -f - -n bigfile |
sort -un | perl -pe 's/^\d+://'
The command will start one B<grep> per CPU and read I<bigfile> one
time per CPU, but as that is done in parallel, all reads except the
first will be cached in RAM. Depending on the size of I<regexp.txt> it
may be faster to use B<--block 10m> instead of B<-L1000>.
Some storage systems perform better when reading multiple chunks in
parallel. This is true for some RAID systems and for some network file
systems. To parallelize the reading of I<bigfile>:
parallel --pipepart --block 100M -a bigfile -k grep -f regexp.txt
parallel --pipepart --block 100M -a bigfile -k --compress grep -f regexp.txt
This will split I<bigfile> into 100MB chunks and run B<grep> on each of
these chunks. To parallelize both reading of I<bigfile> and I<regexp.txt>
@ -2936,6 +2993,11 @@ combine the two using B<--fifo>:
If a line matches multiple regexps, the line may be duplicated.
=head2 Bigger problem
If the problem is too big to be solved by this, you are probably ready
for Lucene.
=head1 EXAMPLE: Using remote computers

132
testsuite/tests-to-run/parallel-local-sql.sh Normal file → Executable file
View file

@ -1,75 +1,81 @@
#!/bin/bash
export SQLITE=sqlite3:///%2Frun%2Fshm%2Fparallel.db
export SQLITETBL=$SQLITE/parsql
export PG=pg://tange:tange@lo/tange
export PGTBL=$PG/parsql
export MYSQL=mysql://`whoami`:`whoami`@lo/tange
export MYSQLTBL=$MYSQL/parsql
export PGTBL2=${PGTBL}2
export PGTBL3=${PGTBL}3
export PGTBL4=${PGTBL}4
export PGTBL5=${PGTBL}5
export T1=$(tempfile)
export T2=$(tempfile)
export T3=$(tempfile)
export T4=$(tempfile)
export T5=$(tempfile)
export T6=$(tempfile)
export T7=$(tempfile)
export T8=$(tempfile)
export T9=$(tempfile)
export T10=$(tempfile)
export T11=$(tempfile)
export T12=$(tempfile)
export T13=$(tempfile)
export T14=$(tempfile)
export PG=pg://`whoami`:`whoami`@lo/`whoami`
export MYSQL=mysql://`whoami`:`whoami`@lo/`whoami`
#sql mysql://tange:tange@lo/ 'create database tange;';
cat <<'EOF' | sed -e 's/;$/; /;' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1 | perl -pe 's/\s*\d+\.?\d+\s*/999/g;s/999e+999.\s+.\s+/999e+999|999/g;'
echo '### --sqlandworker mysql'
(sleep 2; parallel --sqlworker $MYSQLTBL sleep .3\;echo >$T1) &
parallel --sqlandworker $MYSQLTBL sleep .3\;echo ::: {1..5} ::: {a..e} >$T2;
true sort -u $T1 $T2;
sleep 1; sql $MYSQL 'select * from parsql order by seq;'
export DEBUG=false
echo '### --sqlandworker postgresql'
(sleep 2; parallel --sqlworker $PGTBL sleep .3\;echo >$T3) &
parallel --sqlandworker $PGTBL sleep .3\;echo ::: {1..5} ::: {a..e} >$T4;
true sort -u $T3 $T4;
sleep 1; sql $PG 'select * from parsql order by seq;'
p_showsqlresult() {
SERVERURL=$1
TABLE=$2
sql $SERVERURL "select Host,Command,V1,V2,Stdout,Stderr from $TABLE order by seq;"
}
echo '### --sqlandworker sqlite'
(sleep 2; parallel --sqlworker $SQLITETBL sleep .3\;echo >$T5) &
parallel --sqlandworker $SQLITETBL sleep .3\;echo ::: {1..5} ::: {a..e} >$T6;
true sort -u $T5 $T6;
sleep 1; sql $SQLITE 'select * from parsql order by seq;'
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
}
echo '### --sqlandworker postgresql -S lo'
(sleep 2; parallel -S lo --sqlworker $PGTBL2 sleep .3\;echo >$T7) &
parallel -S lo --sqlandworker $PGTBL2 sleep .3\;echo ::: {1..5} ::: {a..e} >$T8;
true sort -u $T7 $T8;
sleep 1; sql $PG 'select * from parsql2 order by seq;'
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
echo '### --sqlandworker postgresql --results'
mkdir -p /tmp/out--sql
(sleep 2; parallel --results /tmp/out--sql --sqlworker $PGTBL3 sleep .3\;echo >$T9) &
parallel --results /tmp/out--sql --sqlandworker $PGTBL3 sleep .3\;echo ::: {1..5} ::: {a..e} >$T10;
true sort -u $T9 $T10;
sleep 1; sql $PG 'select * from parsql3 order by seq;'
par_sqlandworker() {
p_wrapper p_sqlandworker $1
}
echo '### --sqlandworker postgresql --linebuffer'
(sleep 2; parallel --linebuffer --sqlworker $PGTBL4 sleep .3\;echo >$T11) &
parallel --linebuffer --sqlandworker $PGTBL4 sleep .3\;echo ::: {1..5} ::: {a..e} >$T12;
true sort -u $T11 $T12;
sleep 1; sql $PG 'select * from parsql4 order by seq;'
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;
}
echo '### --sqlandworker postgresql -u'
(sleep 2; parallel -u --sqlworker $PGTBL5 sleep .3\;echo >$T13) &
parallel -u --sqlandworker $PGTBL5 sleep .3\;echo ::: {1..5} ::: {a..e} >$T14;
true sort -u $T13 $T14;
sleep 1; sql $PG 'select * from parsql5 order by seq;'
par_sqlandworker_lo() {
p_wrapper p_sqlandworker_lo $1
}
EOF
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;
}
eval rm '$T'{1..14}
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

View file

@ -1,301 +1,550 @@
echo '### --sqlandworker mysql'
### --sqlandworker mysql
(sleep 2; parallel --sqlworker $MYSQLTBL sleep .3\;echo >$T1) &
parallel --sqlandworker $MYSQLTBL sleep .3\;echo ::: {1..5} ::: {a..e} >$T2; true sort -u $T1 $T2; sleep 1; sql $MYSQL 'select * from parsql order by seq;'
Seq Host Starttime JobRuntime Send Receive Exitval _Signal Command V1 V2 Stdout Stderr
1 :9999990 4 0 0 sleep .3;echo 1 a 1 a 1 a\n
2 :9999990 4 0 0 sleep .3;echo 1 b 1 b 1 b\n
3 :9999990 4 0 0 sleep .3;echo 1 c 1 c 1 c\n
4 :9999990 4 0 0 sleep .3;echo 1 d 1 d 1 d\n
5 :9999990 4 0 0 sleep .3;echo 1 e 1 e 1 e\n
6 :9999990 4 0 0 sleep .3;echo 2 a 2 a 2 a\n
7 :9999990 4 0 0 sleep .3;echo 2 b 2 b 2 b\n
8 :9999990 4 0 0 sleep .3;echo 2 c 2 c 2 c\n
9 :9999990 4 0 0 sleep .3;echo 2 d 2 d 2 d\n
999:9999990 4 0 0 sleep .3;echo 2 e 2 e 2 e\n
999:9999990 4 0 0 sleep .3;echo 3 a 3 a 3 a\n
999:9999990 4 0 0 sleep .3;echo 3 b 3 b 3 b\n
999:9999990 4 0 0 sleep .3;echo 3 c 3 c 3 c\n
999:9999990 4 0 0 sleep .3;echo 3 d 3 d 3 d\n
999:9999990 4 0 0 sleep .3;echo 3 e 3 e 3 e\n
999:9999990 4 0 0 sleep .3;echo 4 a 4 a 4 a\n
999:9999990 4 0 0 sleep .3;echo 4 b 4 b 4 b\n
999:9999990 4 0 0 sleep .3;echo 4 c 4 c 4 c\n
999:9999990 4 0 0 sleep .3;echo 4 d 4 d 4 d\n
999:9999990 4 0 0 sleep .3;echo 4 e 4 e 4 e\n
999:9999990 4 0 0 sleep .3;echo 5 a 5 a 5 a\n
999:9999990 4 0 0 sleep .3;echo 5 b 5 b 5 b\n
999:9999990 4 0 0 sleep .3;echo 5 c 5 c 5 c\n
999:9999990 4 0 0 sleep .3;echo 5 d 5 d 5 d\n
999:9999990 4 0 0 sleep .3;echo 5 e 5 e 5 e\n
echo '### --sqlandworker postgresql'
### --sqlandworker postgresql
(sleep 2; parallel --sqlworker $PGTBL sleep .3\;echo >$T3) &
parallel --sqlandworker $PGTBL sleep .3\;echo ::: {1..5} ::: {a..e} >$T4; true sort -u $T3 $T4; sleep 1; sql $PG 'select * from parsql order by seq;'
seq | host | starttime | jobruntime | send | receive | exitval | _signal | command | v1 | v2 | stdout | stderr
-----+------+----------------+------------+------+---------+---------+---------+-------------------+----+----+--------+--------
1 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 a | 1 | a | 1 a +|
| | | | | | | | | | | |
2 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 b | 1 | b | 1 b +|
| | | | | | | | | | | |
3 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 c | 1 | c | 1 c +|
| | | | | | | | | | | |
4 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 d | 1 | d | 1 d +|
| | | | | | | | | | | |
5 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 e | 1 | e | 1 e +|
| | | | | | | | | | | |
6 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 a | 2 | a | 2 a +|
| | | | | | | | | | | |
7 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 b | 2 | b | 2 b +|
| | | | | | | | | | | |
8 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 c | 2 | c | 2 c +|
| | | | | | | | | | | |
9 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 d | 2 | d | 2 d +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 e | 2 | e | 2 e +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 a | 3 | a | 3 a +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 b | 3 | b | 3 b +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 c | 3 | c | 3 c +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 d | 3 | d | 3 d +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 e | 3 | e | 3 e +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 a | 4 | a | 4 a +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 b | 4 | b | 4 b +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 c | 4 | c | 4 c +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 d | 4 | d | 4 d +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 e | 4 | e | 4 e +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 a | 5 | a | 5 a +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 b | 5 | b | 5 b +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 c | 5 | c | 5 c +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 d | 5 | d | 5 d +|
| | | | | | | | | | | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 e | 5 | e | 5 e +|
| | | | | | | | | | | |
(999rows)
echo '### --sqlandworker sqlite'
### --sqlandworker sqlite
(sleep 2; parallel --sqlworker $SQLITETBL sleep .3\;echo >$T5) &
parallel --sqlandworker $SQLITETBL sleep .3\;echo ::: {1..5} ::: {a..e} >$T6; true sort -u $T5 $T6; sleep 1; sql $SQLITE 'select * from parsql order by seq;'
Seq|Host|Starttime|JobRuntime|Send|Receive|Exitval|_Signal|Command|V1|V2|Stdout|Stderr
1|:|999|999|0|4|0|0|sleep .3;echo 1 a|1|a|1 a
|
2|:|999|999|0|4|0|0|sleep .3;echo 1 b|1|b|1 b
|
3|:|999|999|0|4|0|0|sleep .3;echo 1 c|1|c|1 c
|
4|:|999|999|0|4|0|0|sleep .3;echo 1 d|1|d|1 d
|
5|:|999|999|0|4|0|0|sleep .3;echo 1 e|1|e|1 e
|
6|:|999|999|0|4|0|0|sleep .3;echo 2 a|2|a|2 a
|
7|:|999|999|0|4|0|0|sleep .3;echo 2 b|2|b|2 b
|
8|:|999|999|0|4|0|0|sleep .3;echo 2 c|2|c|2 c
|
9|:|999|999|0|4|0|0|sleep .3;echo 2 d|2|d|2 d
|
999|:|999|999|0|4|0|0|sleep .3;echo 2 e|2|e|2 e
|
999|:|999|999|0|4|0|0|sleep .3;echo 3 a|3|a|3 a
|
999|:|999|999|0|4|0|0|sleep .3;echo 3 b|3|b|3 b
|
999|:|999|999|0|4|0|0|sleep .3;echo 3 c|3|c|3 c
|
999|:|999|999|0|4|0|0|sleep .3;echo 3 d|3|d|3 d
|
999|:|999|999|0|4|0|0|sleep .3;echo 3 e|3|e|3 e
|
999|:|999|999|0|4|0|0|sleep .3;echo 4 a|4|a|4 a
|
999|:|999|999|0|4|0|0|sleep .3;echo 4 b|4|b|4 b
|
999|:|999|999|0|4|0|0|sleep .3;echo 4 c|4|c|4 c
|
999|:|999|999|0|4|0|0|sleep .3;echo 4 d|4|d|4 d
|
999|:|999|999|0|4|0|0|sleep .3;echo 4 e|4|e|4 e
|
999|:|999|999|0|4|0|0|sleep .3;echo 5 a|5|a|5 a
|
999|:|999|999|0|4|0|0|sleep .3;echo 5 b|5|b|5 b
|
999|:|999|999|0|4|0|0|sleep .3;echo 5 c|5|c|5 c
|
999|:|999|999|0|4|0|0|sleep .3;echo 5 d|5|d|5 d
|
999|:|999|999|0|4|0|0|sleep .3;echo 5 e|5|e|5 e
|
echo '### --sqlandworker postgresql -S lo'
### --sqlandworker postgresql -S lo
(sleep 2; parallel -S lo --sqlworker $PGTBL2 sleep .3\;echo >$T7) &
parallel -S lo --sqlandworker $PGTBL2 sleep .3\;echo ::: {1..5} ::: {a..e} >$T8; true sort -u $T7 $T8; sleep 1; sql $PG 'select * from parsql2 order by seq;'
seq | host | starttime | jobruntime | send | receive | exitval | _signal | command | v1 | v2 | stdout | stderr
-----+------+----------------+------------+------+---------+---------+---------+-------------------+----+----+--------+--------
1 | lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 a | 1 | a | 1 a +|
| | | | | | | | | | | |
2 | lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 b | 1 | b | 1 b +|
| | | | | | | | | | | |
3 | lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 c | 1 | c | 1 c +|
| | | | | | | | | | | |
4 | lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 d | 1 | d | 1 d +|
| | | | | | | | | | | |
5 | lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 e | 1 | e | 1 e +|
| | | | | | | | | | | |
6 | lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 a | 2 | a | 2 a +|
| | | | | | | | | | | |
7 | lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 b | 2 | b | 2 b +|
| | | | | | | | | | | |
8 | lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 c | 2 | c | 2 c +|
| | | | | | | | | | | |
9 | lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 d | 2 | d | 2 d +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 e | 2 | e | 2 e +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 a | 3 | a | 3 a +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 b | 3 | b | 3 b +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 c | 3 | c | 3 c +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 d | 3 | d | 3 d +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 e | 3 | e | 3 e +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 a | 4 | a | 4 a +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 b | 4 | b | 4 b +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 c | 4 | c | 4 c +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 d | 4 | d | 4 d +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 e | 4 | e | 4 e +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 a | 5 | a | 5 a +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 b | 5 | b | 5 b +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 c | 5 | c | 5 c +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 d | 5 | d | 5 d +|
| | | | | | | | | | | |
999| lo |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 e | 5 | e | 5 e +|
| | | | | | | | | | | |
(999rows)
echo '### --sqlandworker postgresql --results'
### --sqlandworker postgresql --results
mkdir -p /tmp/out--sql
(sleep 2; parallel --results /tmp/out--sql --sqlworker $PGTBL3 sleep .3\;echo >$T9) &
parallel --results /tmp/out--sql --sqlandworker $PGTBL3 sleep .3\;echo ::: {1..5} ::: {a..e} >$T999; true sort -u $T9 $T999; sleep 1; sql $PG 'select * from parsql3 order by seq;'
seq | host | starttime | jobruntime | send | receive | exitval | _signal | command | v1 | v2 | stdout | stderr
-----+------+----------------+------------+------+---------+---------+---------+-------------------+----+----+------------------------------+------------------------------
1 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 a | 1 | a | /tmp/out--sql/1/1/2/a/stdout | /tmp/out--sql/1/1/2/a/stderr
2 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 b | 1 | b | /tmp/out--sql/1/1/2/b/stdout | /tmp/out--sql/1/1/2/b/stderr
3 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 c | 1 | c | /tmp/out--sql/1/1/2/c/stdout | /tmp/out--sql/1/1/2/c/stderr
4 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 d | 1 | d | /tmp/out--sql/1/1/2/d/stdout | /tmp/out--sql/1/1/2/d/stderr
5 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 e | 1 | e | /tmp/out--sql/1/1/2/e/stdout | /tmp/out--sql/1/1/2/e/stderr
6 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 a | 2 | a | /tmp/out--sql/1/2/2/a/stdout | /tmp/out--sql/1/2/2/a/stderr
7 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 b | 2 | b | /tmp/out--sql/1/2/2/b/stdout | /tmp/out--sql/1/2/2/b/stderr
8 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 c | 2 | c | /tmp/out--sql/1/2/2/c/stdout | /tmp/out--sql/1/2/2/c/stderr
9 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 d | 2 | d | /tmp/out--sql/1/2/2/d/stdout | /tmp/out--sql/1/2/2/d/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 e | 2 | e | /tmp/out--sql/1/2/2/e/stdout | /tmp/out--sql/1/2/2/e/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 a | 3 | a | /tmp/out--sql/1/3/2/a/stdout | /tmp/out--sql/1/3/2/a/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 b | 3 | b | /tmp/out--sql/1/3/2/b/stdout | /tmp/out--sql/1/3/2/b/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 c | 3 | c | /tmp/out--sql/1/3/2/c/stdout | /tmp/out--sql/1/3/2/c/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 d | 3 | d | /tmp/out--sql/1/3/2/d/stdout | /tmp/out--sql/1/3/2/d/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 e | 3 | e | /tmp/out--sql/1/3/2/e/stdout | /tmp/out--sql/1/3/2/e/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 a | 4 | a | /tmp/out--sql/1/4/2/a/stdout | /tmp/out--sql/1/4/2/a/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 b | 4 | b | /tmp/out--sql/1/4/2/b/stdout | /tmp/out--sql/1/4/2/b/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 c | 4 | c | /tmp/out--sql/1/4/2/c/stdout | /tmp/out--sql/1/4/2/c/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 d | 4 | d | /tmp/out--sql/1/4/2/d/stdout | /tmp/out--sql/1/4/2/d/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 e | 4 | e | /tmp/out--sql/1/4/2/e/stdout | /tmp/out--sql/1/4/2/e/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 a | 5 | a | /tmp/out--sql/1/5/2/a/stdout | /tmp/out--sql/1/5/2/a/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 b | 5 | b | /tmp/out--sql/1/5/2/b/stdout | /tmp/out--sql/1/5/2/b/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 c | 5 | c | /tmp/out--sql/1/5/2/c/stdout | /tmp/out--sql/1/5/2/c/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 d | 5 | d | /tmp/out--sql/1/5/2/d/stdout | /tmp/out--sql/1/5/2/d/stderr
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 e | 5 | e | /tmp/out--sql/1/5/2/e/stdout | /tmp/out--sql/1/5/2/e/stderr
(999rows)
echo '### --sqlandworker postgresql --linebuffer'
### --sqlandworker postgresql --linebuffer
(sleep 2; parallel --linebuffer --sqlworker $PGTBL4 sleep .3\;echo >$T999) &
parallel --linebuffer --sqlandworker $PGTBL4 sleep .3\;echo ::: {1..5} ::: {a..e} >$T999; true sort -u $T999$T999; sleep 1; sql $PG 'select * from parsql4 order by seq;'
seq | host | starttime | jobruntime | send | receive | exitval | _signal | command | v1 | v2 | stdout | stderr
-----+------+----------------+------------+------+---------+---------+---------+-------------------+----+----+--------+--------
1 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 a | 1 | a | |
2 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 b | 1 | b | |
3 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 c | 1 | c | |
4 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 d | 1 | d | |
5 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 1 e | 1 | e | |
6 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 a | 2 | a | |
7 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 b | 2 | b | |
8 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 c | 2 | c | |
9 | : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 d | 2 | d | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 2 e | 2 | e | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 a | 3 | a | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 b | 3 | b | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 c | 3 | c | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 d | 3 | d | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 3 e | 3 | e | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 a | 4 | a | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 b | 4 | b | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 c | 4 | c | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 d | 4 | d | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 4 e | 4 | e | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 a | 5 | a | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 b | 5 | b | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 c | 5 | c | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 d | 5 | d | |
999| : |999|999| 0 | 4 | 0 | 0 | sleep .3;echo 5 e | 5 | e | |
(999rows)
echo '### --sqlandworker postgresql -u'
### --sqlandworker postgresql -u
(sleep 2; parallel -u --sqlworker $PGTBL5 sleep .3\;echo >$T999) &
parallel -u --sqlandworker $PGTBL5 sleep .3\;echo ::: {1..5} ::: {a..e} >$T999; true sort -u $T999$T999; sleep 1; sql $PG 'select * from parsql5 order by seq;'
seq | host | starttime | jobruntime | send | receive | exitval | _signal | command | v1 | v2 | stdout | stderr
-----+------+----------------+------------+------+---------+---------+---------+-------------------+----+----+--------+--------
1 | : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 1 a | 1 | a | |
2 | : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 1 b | 1 | b | |
3 | : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 1 c | 1 | c | |
4 | : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 1 d | 1 | d | |
5 | : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 1 e | 1 | e | |
6 | : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 2 a | 2 | a | |
7 | : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 2 b | 2 | b | |
8 | : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 2 c | 2 | c | |
9 | : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 2 d | 2 | d | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 2 e | 2 | e | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 3 a | 3 | a | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 3 b | 3 | b | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 3 c | 3 | c | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 3 d | 3 | d | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 3 e | 3 | e | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 4 a | 4 | a | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 4 b | 4 | b | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 4 c | 4 | c | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 4 d | 4 | d | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 4 e | 4 | e | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 5 a | 5 | a | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 5 b | 5 | b | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 5 c | 5 | c | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 5 d | 5 | d | |
999| : |999|999| 0 | 0 | 0 | 0 | sleep .3;echo 5 e | 5 | e | |
(999rows)
par_sqlandworker $MYSQL
par_sqlandworker $MYSQL Exit=0
par_sqlandworker $MYSQL Exit=0
par_sqlandworker $MYSQL Host Command V1 V2 Stdout Stderr
par_sqlandworker $MYSQL : sleep .3;echo 1 a 1 a 1 a\n
par_sqlandworker $MYSQL : sleep .3;echo 1 b 1 b 1 b\n
par_sqlandworker $MYSQL : sleep .3;echo 1 c 1 c 1 c\n
par_sqlandworker $MYSQL : sleep .3;echo 1 d 1 d 1 d\n
par_sqlandworker $MYSQL : sleep .3;echo 1 e 1 e 1 e\n
par_sqlandworker $MYSQL : sleep .3;echo 2 a 2 a 2 a\n
par_sqlandworker $MYSQL : sleep .3;echo 2 b 2 b 2 b\n
par_sqlandworker $MYSQL : sleep .3;echo 2 c 2 c 2 c\n
par_sqlandworker $MYSQL : sleep .3;echo 2 d 2 d 2 d\n
par_sqlandworker $MYSQL : sleep .3;echo 2 e 2 e 2 e\n
par_sqlandworker $MYSQL : sleep .3;echo 3 a 3 a 3 a\n
par_sqlandworker $MYSQL : sleep .3;echo 3 b 3 b 3 b\n
par_sqlandworker $MYSQL : sleep .3;echo 3 c 3 c 3 c\n
par_sqlandworker $MYSQL : sleep .3;echo 3 d 3 d 3 d\n
par_sqlandworker $MYSQL : sleep .3;echo 3 e 3 e 3 e\n
par_sqlandworker $MYSQL : sleep .3;echo 4 a 4 a 4 a\n
par_sqlandworker $MYSQL : sleep .3;echo 4 b 4 b 4 b\n
par_sqlandworker $MYSQL : sleep .3;echo 4 c 4 c 4 c\n
par_sqlandworker $MYSQL : sleep .3;echo 4 d 4 d 4 d\n
par_sqlandworker $MYSQL : sleep .3;echo 4 e 4 e 4 e\n
par_sqlandworker $MYSQL : sleep .3;echo 5 a 5 a 5 a\n
par_sqlandworker $MYSQL : sleep .3;echo 5 b 5 b 5 b\n
par_sqlandworker $MYSQL : sleep .3;echo 5 c 5 c 5 c\n
par_sqlandworker $MYSQL : sleep .3;echo 5 d 5 d 5 d\n
par_sqlandworker $MYSQL : sleep .3;echo 5 e 5 e 5 e\n
par_sqlandworker $PG
par_sqlandworker $PG Exit=0
par_sqlandworker $PG Exit=0
par_sqlandworker $PG host | command | v1 | v2 | stdout | stderr
par_sqlandworker $PG ------+-------------------+----+----+--------+--------
par_sqlandworker $PG : | sleep .3;echo 1 a | 1 | a | 1 a +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 1 b | 1 | b | 1 b +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 1 c | 1 | c | 1 c +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 1 d | 1 | d | 1 d +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 1 e | 1 | e | 1 e +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 2 a | 2 | a | 2 a +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 2 b | 2 | b | 2 b +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 2 c | 2 | c | 2 c +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 2 d | 2 | d | 2 d +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 2 e | 2 | e | 2 e +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 3 a | 3 | a | 3 a +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 3 b | 3 | b | 3 b +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 3 c | 3 | c | 3 c +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 3 d | 3 | d | 3 d +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 3 e | 3 | e | 3 e +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 4 a | 4 | a | 4 a +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 4 b | 4 | b | 4 b +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 4 c | 4 | c | 4 c +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 4 d | 4 | d | 4 d +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 4 e | 4 | e | 4 e +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 5 a | 5 | a | 5 a +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 5 b | 5 | b | 5 b +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 5 c | 5 | c | 5 c +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 5 d | 5 | d | 5 d +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG : | sleep .3;echo 5 e | 5 | e | 5 e +|
par_sqlandworker $PG | | | | |
par_sqlandworker $PG (25 rows)
par_sqlandworker $PG
par_sqlandworker $SQLITE
par_sqlandworker $SQLITE Exit=0
par_sqlandworker $SQLITE Exit=0
par_sqlandworker $SQLITE Host|Command|V1|V2|Stdout|Stderr
par_sqlandworker $SQLITE :|sleep .3;echo 1 a|1|a|1 a
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 1 b|1|b|1 b
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 1 c|1|c|1 c
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 1 d|1|d|1 d
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 1 e|1|e|1 e
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 2 a|2|a|2 a
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 2 b|2|b|2 b
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 2 c|2|c|2 c
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 2 d|2|d|2 d
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 2 e|2|e|2 e
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 3 a|3|a|3 a
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 3 b|3|b|3 b
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 3 c|3|c|3 c
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 3 d|3|d|3 d
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 3 e|3|e|3 e
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 4 a|4|a|4 a
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 4 b|4|b|4 b
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 4 c|4|c|4 c
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 4 d|4|d|4 d
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 4 e|4|e|4 e
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 5 a|5|a|5 a
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 5 b|5|b|5 b
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 5 c|5|c|5 c
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 5 d|5|d|5 d
par_sqlandworker $SQLITE |
par_sqlandworker $SQLITE :|sleep .3;echo 5 e|5|e|5 e
par_sqlandworker $SQLITE |
par_sqlandworker_linebuffer $MYSQL
par_sqlandworker_linebuffer $MYSQL Exit=0
par_sqlandworker_linebuffer $MYSQL Exit=0
par_sqlandworker_linebuffer $MYSQL Host Command V1 V2 Stdout Stderr
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 1 a 1 a NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 1 b 1 b NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 1 c 1 c NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 1 d 1 d NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 1 e 1 e NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 2 a 2 a NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 2 b 2 b NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 2 c 2 c NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 2 d 2 d NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 2 e 2 e NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 3 a 3 a NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 3 b 3 b NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 3 c 3 c NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 3 d 3 d NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 3 e 3 e NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 4 a 4 a NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 4 b 4 b NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 4 c 4 c NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 4 d 4 d NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 4 e 4 e NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 a 5 a NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 b 5 b NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 c 5 c NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 d 5 d NULL NULL
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 e 5 e NULL NULL
par_sqlandworker_linebuffer $PG
par_sqlandworker_linebuffer $PG Exit=0
par_sqlandworker_linebuffer $PG Exit=0
par_sqlandworker_linebuffer $PG host | command | v1 | v2 | stdout | stderr
par_sqlandworker_linebuffer $PG ------+-------------------+----+----+--------+--------
par_sqlandworker_linebuffer $PG : | sleep .3;echo 1 a | 1 | a | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 1 b | 1 | b | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 1 c | 1 | c | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 1 d | 1 | d | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 1 e | 1 | e | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 2 a | 2 | a | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 2 b | 2 | b | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 2 c | 2 | c | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 2 d | 2 | d | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 2 e | 2 | e | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 3 a | 3 | a | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 3 b | 3 | b | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 3 c | 3 | c | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 3 d | 3 | d | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 3 e | 3 | e | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 4 a | 4 | a | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 4 b | 4 | b | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 4 c | 4 | c | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 4 d | 4 | d | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 4 e | 4 | e | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 5 a | 5 | a | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 5 b | 5 | b | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 5 c | 5 | c | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 5 d | 5 | d | |
par_sqlandworker_linebuffer $PG : | sleep .3;echo 5 e | 5 | e | |
par_sqlandworker_linebuffer $PG (25 rows)
par_sqlandworker_linebuffer $PG
par_sqlandworker_linebuffer $SQLITE
par_sqlandworker_linebuffer $SQLITE Exit=0
par_sqlandworker_linebuffer $SQLITE Exit=0
par_sqlandworker_linebuffer $SQLITE Host|Command|V1|V2|Stdout|Stderr
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 1 a|1|a||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 1 b|1|b||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 1 c|1|c||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 1 d|1|d||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 1 e|1|e||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 2 a|2|a||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 2 b|2|b||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 2 c|2|c||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 2 d|2|d||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 2 e|2|e||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 3 a|3|a||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 3 b|3|b||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 3 c|3|c||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 3 d|3|d||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 3 e|3|e||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 4 a|4|a||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 4 b|4|b||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 4 c|4|c||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 4 d|4|d||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 4 e|4|e||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 5 a|5|a||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 5 b|5|b||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 5 c|5|c||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 5 d|5|d||
par_sqlandworker_linebuffer $SQLITE :|sleep .3;echo 5 e|5|e||
par_sqlandworker_lo $MYSQL
par_sqlandworker_lo $MYSQL Exit=0
par_sqlandworker_lo $MYSQL Exit=0
par_sqlandworker_lo $MYSQL Host Command V1 V2 Stdout Stderr
par_sqlandworker_lo $MYSQL lo sleep .3;echo 1 a 1 a 1 a\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 1 b 1 b 1 b\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 1 c 1 c 1 c\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 1 d 1 d 1 d\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 1 e 1 e 1 e\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 2 a 2 a 2 a\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 2 b 2 b 2 b\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 2 c 2 c 2 c\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 2 d 2 d 2 d\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 2 e 2 e 2 e\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 3 a 3 a 3 a\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 3 b 3 b 3 b\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 3 c 3 c 3 c\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 3 d 3 d 3 d\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 3 e 3 e 3 e\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 4 a 4 a 4 a\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 4 b 4 b 4 b\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 4 c 4 c 4 c\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 4 d 4 d 4 d\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 4 e 4 e 4 e\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 a 5 a 5 a\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 b 5 b 5 b\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 c 5 c 5 c\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 d 5 d 5 d\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 e 5 e 5 e\n
par_sqlandworker_lo $PG
par_sqlandworker_lo $PG Exit=0
par_sqlandworker_lo $PG Exit=0
par_sqlandworker_lo $PG host | command | v1 | v2 | stdout | stderr
par_sqlandworker_lo $PG ------+-------------------+----+----+--------+--------
par_sqlandworker_lo $PG lo | sleep .3;echo 1 a | 1 | a | 1 a +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 1 b | 1 | b | 1 b +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 1 c | 1 | c | 1 c +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 1 d | 1 | d | 1 d +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 1 e | 1 | e | 1 e +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 2 a | 2 | a | 2 a +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 2 b | 2 | b | 2 b +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 2 c | 2 | c | 2 c +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 2 d | 2 | d | 2 d +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 2 e | 2 | e | 2 e +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 3 a | 3 | a | 3 a +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 3 b | 3 | b | 3 b +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 3 c | 3 | c | 3 c +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 3 d | 3 | d | 3 d +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 3 e | 3 | e | 3 e +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 4 a | 4 | a | 4 a +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 4 b | 4 | b | 4 b +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 4 c | 4 | c | 4 c +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 4 d | 4 | d | 4 d +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 4 e | 4 | e | 4 e +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 5 a | 5 | a | 5 a +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 5 b | 5 | b | 5 b +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 5 c | 5 | c | 5 c +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 5 d | 5 | d | 5 d +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG lo | sleep .3;echo 5 e | 5 | e | 5 e +|
par_sqlandworker_lo $PG | | | | |
par_sqlandworker_lo $PG (25 rows)
par_sqlandworker_lo $PG
par_sqlandworker_lo $SQLITE
par_sqlandworker_lo $SQLITE Exit=0
par_sqlandworker_lo $SQLITE Exit=0
par_sqlandworker_lo $SQLITE Host|Command|V1|V2|Stdout|Stderr
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 1 a|1|a|1 a
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 1 b|1|b|1 b
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 1 c|1|c|1 c
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 1 d|1|d|1 d
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 1 e|1|e|1 e
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 2 a|2|a|2 a
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 2 b|2|b|2 b
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 2 c|2|c|2 c
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 2 d|2|d|2 d
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 2 e|2|e|2 e
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 3 a|3|a|3 a
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 3 b|3|b|3 b
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 3 c|3|c|3 c
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 3 d|3|d|3 d
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 3 e|3|e|3 e
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 4 a|4|a|4 a
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 4 b|4|b|4 b
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 4 c|4|c|4 c
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 4 d|4|d|4 d
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 4 e|4|e|4 e
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 5 a|5|a|5 a
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 5 b|5|b|5 b
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 5 c|5|c|5 c
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 5 d|5|d|5 d
par_sqlandworker_lo $SQLITE |
par_sqlandworker_lo $SQLITE lo|sleep .3;echo 5 e|5|e|5 e
par_sqlandworker_lo $SQLITE |
par_sqlandworker_results $MYSQL
par_sqlandworker_results $MYSQL Exit=0
par_sqlandworker_results $MYSQL Exit=0
par_sqlandworker_results $MYSQL Host Command V1 V2 Stdout Stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 1 a 1 a /tmp/out--sql/1/1/2/a/stdout /tmp/out--sql/1/1/2/a/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 1 b 1 b /tmp/out--sql/1/1/2/b/stdout /tmp/out--sql/1/1/2/b/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 1 c 1 c /tmp/out--sql/1/1/2/c/stdout /tmp/out--sql/1/1/2/c/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 1 d 1 d /tmp/out--sql/1/1/2/d/stdout /tmp/out--sql/1/1/2/d/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 1 e 1 e /tmp/out--sql/1/1/2/e/stdout /tmp/out--sql/1/1/2/e/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 2 a 2 a /tmp/out--sql/1/2/2/a/stdout /tmp/out--sql/1/2/2/a/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 2 b 2 b /tmp/out--sql/1/2/2/b/stdout /tmp/out--sql/1/2/2/b/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 2 c 2 c /tmp/out--sql/1/2/2/c/stdout /tmp/out--sql/1/2/2/c/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 2 d 2 d /tmp/out--sql/1/2/2/d/stdout /tmp/out--sql/1/2/2/d/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 2 e 2 e /tmp/out--sql/1/2/2/e/stdout /tmp/out--sql/1/2/2/e/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 3 a 3 a /tmp/out--sql/1/3/2/a/stdout /tmp/out--sql/1/3/2/a/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 3 b 3 b /tmp/out--sql/1/3/2/b/stdout /tmp/out--sql/1/3/2/b/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 3 c 3 c /tmp/out--sql/1/3/2/c/stdout /tmp/out--sql/1/3/2/c/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 3 d 3 d /tmp/out--sql/1/3/2/d/stdout /tmp/out--sql/1/3/2/d/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 3 e 3 e /tmp/out--sql/1/3/2/e/stdout /tmp/out--sql/1/3/2/e/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 4 a 4 a /tmp/out--sql/1/4/2/a/stdout /tmp/out--sql/1/4/2/a/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 4 b 4 b /tmp/out--sql/1/4/2/b/stdout /tmp/out--sql/1/4/2/b/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 4 c 4 c /tmp/out--sql/1/4/2/c/stdout /tmp/out--sql/1/4/2/c/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 4 d 4 d /tmp/out--sql/1/4/2/d/stdout /tmp/out--sql/1/4/2/d/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 4 e 4 e /tmp/out--sql/1/4/2/e/stdout /tmp/out--sql/1/4/2/e/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 5 a 5 a /tmp/out--sql/1/5/2/a/stdout /tmp/out--sql/1/5/2/a/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 5 b 5 b /tmp/out--sql/1/5/2/b/stdout /tmp/out--sql/1/5/2/b/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 5 c 5 c /tmp/out--sql/1/5/2/c/stdout /tmp/out--sql/1/5/2/c/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 5 d 5 d /tmp/out--sql/1/5/2/d/stdout /tmp/out--sql/1/5/2/d/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 5 e 5 e /tmp/out--sql/1/5/2/e/stdout /tmp/out--sql/1/5/2/e/stderr
par_sqlandworker_results $PG
par_sqlandworker_results $PG Exit=0
par_sqlandworker_results $PG Exit=0
par_sqlandworker_results $PG host | command | v1 | v2 | stdout | stderr
par_sqlandworker_results $PG ------+-------------------+----+----+------------------------------+------------------------------
par_sqlandworker_results $PG : | sleep .3;echo 1 a | 1 | a | /tmp/out--sql/1/1/2/a/stdout | /tmp/out--sql/1/1/2/a/stderr
par_sqlandworker_results $PG : | sleep .3;echo 1 b | 1 | b | /tmp/out--sql/1/1/2/b/stdout | /tmp/out--sql/1/1/2/b/stderr
par_sqlandworker_results $PG : | sleep .3;echo 1 c | 1 | c | /tmp/out--sql/1/1/2/c/stdout | /tmp/out--sql/1/1/2/c/stderr
par_sqlandworker_results $PG : | sleep .3;echo 1 d | 1 | d | /tmp/out--sql/1/1/2/d/stdout | /tmp/out--sql/1/1/2/d/stderr
par_sqlandworker_results $PG : | sleep .3;echo 1 e | 1 | e | /tmp/out--sql/1/1/2/e/stdout | /tmp/out--sql/1/1/2/e/stderr
par_sqlandworker_results $PG : | sleep .3;echo 2 a | 2 | a | /tmp/out--sql/1/2/2/a/stdout | /tmp/out--sql/1/2/2/a/stderr
par_sqlandworker_results $PG : | sleep .3;echo 2 b | 2 | b | /tmp/out--sql/1/2/2/b/stdout | /tmp/out--sql/1/2/2/b/stderr
par_sqlandworker_results $PG : | sleep .3;echo 2 c | 2 | c | /tmp/out--sql/1/2/2/c/stdout | /tmp/out--sql/1/2/2/c/stderr
par_sqlandworker_results $PG : | sleep .3;echo 2 d | 2 | d | /tmp/out--sql/1/2/2/d/stdout | /tmp/out--sql/1/2/2/d/stderr
par_sqlandworker_results $PG : | sleep .3;echo 2 e | 2 | e | /tmp/out--sql/1/2/2/e/stdout | /tmp/out--sql/1/2/2/e/stderr
par_sqlandworker_results $PG : | sleep .3;echo 3 a | 3 | a | /tmp/out--sql/1/3/2/a/stdout | /tmp/out--sql/1/3/2/a/stderr
par_sqlandworker_results $PG : | sleep .3;echo 3 b | 3 | b | /tmp/out--sql/1/3/2/b/stdout | /tmp/out--sql/1/3/2/b/stderr
par_sqlandworker_results $PG : | sleep .3;echo 3 c | 3 | c | /tmp/out--sql/1/3/2/c/stdout | /tmp/out--sql/1/3/2/c/stderr
par_sqlandworker_results $PG : | sleep .3;echo 3 d | 3 | d | /tmp/out--sql/1/3/2/d/stdout | /tmp/out--sql/1/3/2/d/stderr
par_sqlandworker_results $PG : | sleep .3;echo 3 e | 3 | e | /tmp/out--sql/1/3/2/e/stdout | /tmp/out--sql/1/3/2/e/stderr
par_sqlandworker_results $PG : | sleep .3;echo 4 a | 4 | a | /tmp/out--sql/1/4/2/a/stdout | /tmp/out--sql/1/4/2/a/stderr
par_sqlandworker_results $PG : | sleep .3;echo 4 b | 4 | b | /tmp/out--sql/1/4/2/b/stdout | /tmp/out--sql/1/4/2/b/stderr
par_sqlandworker_results $PG : | sleep .3;echo 4 c | 4 | c | /tmp/out--sql/1/4/2/c/stdout | /tmp/out--sql/1/4/2/c/stderr
par_sqlandworker_results $PG : | sleep .3;echo 4 d | 4 | d | /tmp/out--sql/1/4/2/d/stdout | /tmp/out--sql/1/4/2/d/stderr
par_sqlandworker_results $PG : | sleep .3;echo 4 e | 4 | e | /tmp/out--sql/1/4/2/e/stdout | /tmp/out--sql/1/4/2/e/stderr
par_sqlandworker_results $PG : | sleep .3;echo 5 a | 5 | a | /tmp/out--sql/1/5/2/a/stdout | /tmp/out--sql/1/5/2/a/stderr
par_sqlandworker_results $PG : | sleep .3;echo 5 b | 5 | b | /tmp/out--sql/1/5/2/b/stdout | /tmp/out--sql/1/5/2/b/stderr
par_sqlandworker_results $PG : | sleep .3;echo 5 c | 5 | c | /tmp/out--sql/1/5/2/c/stdout | /tmp/out--sql/1/5/2/c/stderr
par_sqlandworker_results $PG : | sleep .3;echo 5 d | 5 | d | /tmp/out--sql/1/5/2/d/stdout | /tmp/out--sql/1/5/2/d/stderr
par_sqlandworker_results $PG : | sleep .3;echo 5 e | 5 | e | /tmp/out--sql/1/5/2/e/stdout | /tmp/out--sql/1/5/2/e/stderr
par_sqlandworker_results $PG (25 rows)
par_sqlandworker_results $PG
par_sqlandworker_results $SQLITE
par_sqlandworker_results $SQLITE Exit=0
par_sqlandworker_results $SQLITE Exit=0
par_sqlandworker_results $SQLITE Host|Command|V1|V2|Stdout|Stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 1 a|1|a|/tmp/out--sql/1/1/2/a/stdout|/tmp/out--sql/1/1/2/a/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 1 b|1|b|/tmp/out--sql/1/1/2/b/stdout|/tmp/out--sql/1/1/2/b/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 1 c|1|c|/tmp/out--sql/1/1/2/c/stdout|/tmp/out--sql/1/1/2/c/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 1 d|1|d|/tmp/out--sql/1/1/2/d/stdout|/tmp/out--sql/1/1/2/d/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 1 e|1|e|/tmp/out--sql/1/1/2/e/stdout|/tmp/out--sql/1/1/2/e/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 2 a|2|a|/tmp/out--sql/1/2/2/a/stdout|/tmp/out--sql/1/2/2/a/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 2 b|2|b|/tmp/out--sql/1/2/2/b/stdout|/tmp/out--sql/1/2/2/b/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 2 c|2|c|/tmp/out--sql/1/2/2/c/stdout|/tmp/out--sql/1/2/2/c/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 2 d|2|d|/tmp/out--sql/1/2/2/d/stdout|/tmp/out--sql/1/2/2/d/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 2 e|2|e|/tmp/out--sql/1/2/2/e/stdout|/tmp/out--sql/1/2/2/e/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 3 a|3|a|/tmp/out--sql/1/3/2/a/stdout|/tmp/out--sql/1/3/2/a/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 3 b|3|b|/tmp/out--sql/1/3/2/b/stdout|/tmp/out--sql/1/3/2/b/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 3 c|3|c|/tmp/out--sql/1/3/2/c/stdout|/tmp/out--sql/1/3/2/c/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 3 d|3|d|/tmp/out--sql/1/3/2/d/stdout|/tmp/out--sql/1/3/2/d/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 3 e|3|e|/tmp/out--sql/1/3/2/e/stdout|/tmp/out--sql/1/3/2/e/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 4 a|4|a|/tmp/out--sql/1/4/2/a/stdout|/tmp/out--sql/1/4/2/a/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 4 b|4|b|/tmp/out--sql/1/4/2/b/stdout|/tmp/out--sql/1/4/2/b/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 4 c|4|c|/tmp/out--sql/1/4/2/c/stdout|/tmp/out--sql/1/4/2/c/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 4 d|4|d|/tmp/out--sql/1/4/2/d/stdout|/tmp/out--sql/1/4/2/d/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 4 e|4|e|/tmp/out--sql/1/4/2/e/stdout|/tmp/out--sql/1/4/2/e/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 5 a|5|a|/tmp/out--sql/1/5/2/a/stdout|/tmp/out--sql/1/5/2/a/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 5 b|5|b|/tmp/out--sql/1/5/2/b/stdout|/tmp/out--sql/1/5/2/b/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 5 c|5|c|/tmp/out--sql/1/5/2/c/stdout|/tmp/out--sql/1/5/2/c/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 5 d|5|d|/tmp/out--sql/1/5/2/d/stdout|/tmp/out--sql/1/5/2/d/stderr
par_sqlandworker_results $SQLITE :|sleep .3;echo 5 e|5|e|/tmp/out--sql/1/5/2/e/stdout|/tmp/out--sql/1/5/2/e/stderr
par_sqlandworker_unbuffer $MYSQL
par_sqlandworker_unbuffer $MYSQL Exit=0
par_sqlandworker_unbuffer $MYSQL Exit=0
par_sqlandworker_unbuffer $MYSQL Host Command V1 V2 Stdout Stderr
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 1 a 1 a NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 1 b 1 b NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 1 c 1 c NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 1 d 1 d NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 1 e 1 e NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 2 a 2 a NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 2 b 2 b NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 2 c 2 c NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 2 d 2 d NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 2 e 2 e NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 3 a 3 a NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 3 b 3 b NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 3 c 3 c NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 3 d 3 d NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 3 e 3 e NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 4 a 4 a NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 4 b 4 b NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 4 c 4 c NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 4 d 4 d NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 4 e 4 e NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 a 5 a NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 b 5 b NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 c 5 c NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 d 5 d NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 e 5 e NULL NULL
par_sqlandworker_unbuffer $PG
par_sqlandworker_unbuffer $PG Exit=0
par_sqlandworker_unbuffer $PG Exit=0
par_sqlandworker_unbuffer $PG host | command | v1 | v2 | stdout | stderr
par_sqlandworker_unbuffer $PG ------+-------------------+----+----+--------+--------
par_sqlandworker_unbuffer $PG : | sleep .3;echo 1 a | 1 | a | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 1 b | 1 | b | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 1 c | 1 | c | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 1 d | 1 | d | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 1 e | 1 | e | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 2 a | 2 | a | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 2 b | 2 | b | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 2 c | 2 | c | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 2 d | 2 | d | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 2 e | 2 | e | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 3 a | 3 | a | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 3 b | 3 | b | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 3 c | 3 | c | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 3 d | 3 | d | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 3 e | 3 | e | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 4 a | 4 | a | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 4 b | 4 | b | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 4 c | 4 | c | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 4 d | 4 | d | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 4 e | 4 | e | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 5 a | 5 | a | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 5 b | 5 | b | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 5 c | 5 | c | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 5 d | 5 | d | |
par_sqlandworker_unbuffer $PG : | sleep .3;echo 5 e | 5 | e | |
par_sqlandworker_unbuffer $PG (25 rows)
par_sqlandworker_unbuffer $PG
par_sqlandworker_unbuffer $SQLITE
par_sqlandworker_unbuffer $SQLITE Exit=0
par_sqlandworker_unbuffer $SQLITE Exit=0
par_sqlandworker_unbuffer $SQLITE Host|Command|V1|V2|Stdout|Stderr
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 1 a|1|a||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 1 b|1|b||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 1 c|1|c||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 1 d|1|d||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 1 e|1|e||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 2 a|2|a||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 2 b|2|b||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 2 c|2|c||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 2 d|2|d||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 2 e|2|e||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 3 a|3|a||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 3 b|3|b||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 3 c|3|c||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 3 d|3|d||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 3 e|3|e||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 4 a|4|a||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 4 b|4|b||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 4 c|4|c||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 4 d|4|d||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 4 e|4|e||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 5 a|5|a||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 5 b|5|b||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 5 c|5|c||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 5 d|5|d||
par_sqlandworker_unbuffer $SQLITE :|sleep .3;echo 5 e|5|e||