#!/bin/bash
set -euo pipefail
IFS=$'\n\t'

# check lock
lock=/var/run/cloner.pid

dir_prefix=cloner

max_jobs=${JOBS:-3}

function die(){
	echo $@ 1>&2
	exit 1
}

# first, check process
if [ -f $lock ] 
then
	pid=$(cat $lock)
	# if it still runs, die not so quietly
	[ -n "$pid" ] && [ -d /proc/$pid ] && die "Another process running!"
fi
# else make some mess and setup trap
echo $BASHPID > $lock

find /data -maxdepth 1 -type d -name "${dir_prefix}-*" | \
	parallel --lb -j $max_jobs -n 1 run-mirror-update