1#!/bin/sh
2
3# Speed up the log resolving by running several instances of
4# webresolve in parallel.
5# Run like so:
6#
7# splitwr logfile > logfile.resolved
8
9# Set this to something sensible
10PROCESSES=20
11
12test -n "$1" || exit
13test -s "$1" || exit
14
15LINES=`wc "$1" | awk '{print $1}'`
16XX=`echo "$LINES/($PROCESSES-1)" | bc`
17
18rm -rf x.* r.* lock
19mkdir lock
20
21split -$XX "$1" x.
22
23for f in x.*; do
24	(touch lock/$f
25	webresolve < $f > r.$f
26	rm $f
27	rm lock/$f
28	rmdir lock ) 2> /dev/null &
29done
30
31# Now wait for all webresolvers to finish
32while test -d lock; do
33	sleep 10
34done
35
36for f in r.*; do
37	cat $f
38	rm $f
39done
40
41