BASE=$(cd $(dirname $0); pwd) echo $DAYS THIS=$(basename $0) DB_SEMAPHORE=/tmp/$THIS.$$.import rm -f $DB_SEMAPHORE touch $DB_SEMAPHORE export DB_SEMAPHORE echo "Launching reader in $DB_SEMAPHORE" (cd ..; tail -f $DB_SEMAPHORE | xargs -i ./load.sh {} >>$BASE/import.log )& # ./convert.sh echoes the appropriate parameters into $DB_SEMAPHORE ../runN -n 4 ./convert.sh $DAYS # Signal EOF to xargs echo "_" >> $DB_SEMAPHORE wait echo "Import done" rm $DB_SEMAPHORE #### (cd ..; tail -f $DB_SEMAPHORE | xargs -i ./load.sh {} >>$BASE/import.log )& #### ../runN -n 4 ./convert-wp-for-import.sh $DAYS #### use strict; use Magic::Parallel max_parallel => 4; my $parallel_handle = parallel sub { my ($self,$payload) = @_; system("convert.sh $payload") == 0 or warn "Couldn't launch: $!/$?"; }, @ARGV; $parallel_handle->serial(sub { my ($self,$payload) = @_; system("load_db.sh $payload") == 0 or warn "Couldn't launch: $!/$?"; });