#!/bin/sh -efu

. gb-sh-functions

cd "$GB_TASKS_DIR"

enable -f /usr/lib/bash/lockf lockf
# obtain an exclusive lock on the whole TASKS directory
builtin lockf .

mkdir -p "archive"
cd "archive"

remove_task()
{
	local d="$1"; shift
	local n="$1"; shift
	gb-task-send-email "$n" REMOVED "$d"
	rm -rf "$d/$n/"
}

clean_task_dir()
{
	local d="$1"; shift
	local t="$1"; shift
	find . -mindepth 3 -maxdepth 3 -path "./$d/[1-9]*/task" -type d -mtime "+$t" |
	    cut -d/ -f3 |sort -rn |while read n; do
		remove_task "$d" "$n"
	done
}

clean_task_dir new ${GB_TASKS_NEW_CLEAN_TIME-3}
clean_task_dir done ${GB_TASKS_DONE_CLEAN_TIME-7}
clean_task_dir failed ${GB_TASKS_FAILED_CLEAN_TIME-14}
