#!/usr/bin/env bash

GRID_DIR=`dirname "$0"`
GRID_DIR=`cd "$GRID_DIR"; pwd`
source $GRID_DIR/../gridmix-env
PROCESSES=""
    
for ((i=0; i < $NUM_OF_MEDIUM_JOBS_PER_CLASS; i++))
do
    echo $i
    $GRID_MIX_HOME/webdatascan/webdata_scan.medium  2>&1 > webdata_scan.medium.$i.out &
    PROCESSES="${PROCESSES} $!"
    $GRID_MIX_HOME/submissionScripts/sleep_if_too_busy
done
    
for ((i=0; i < $NUM_OF_SMALL_JOBS_PER_CLASS; i++))
do
    echo $i
    $GRID_MIX_HOME/webdatascan/webdata_scan.small  2>&1 > webdata_scan.small.$i.out &
    PROCESSES="${PROCESSES} $!"
    $GRID_MIX_HOME/submissionScripts/sleep_if_too_busy
done

for ((i=0; i < $NUM_OF_LARGE_JOBS_PER_CLASS; i++))
do
    echo $i
    $GRID_MIX_HOME/webdatascan/webdata_scan.large  2>&1 > webdata_scan.large.$i.out &
    PROCESSES="${PROCESSES} $!"
    $GRID_MIX_HOME/submissionScripts/sleep_if_too_busy
done
    
for APROC in ${PROCESSES}; do
  wait ${APROC}
done
