http.sh/src/worker.sh

37 lines
933 B
Bash
Executable File

#!/usr/bin/env bash
# worker.sh - setup and control of workers
# worker_add(name, interval)
function worker_add() {
if [[ -x "${cfg[namespace]}/workers/$1/worker.sh" ]]; then
echo "[WRKR] adding worker $1"
while true; do
source "${cfg[namespace]}/workers/$1/worker.sh"
sleep $2
if [[ $(cat "${cfg[namespace]}/workers/$1/control") == "die" ]]; then
echo "" > ${cfg[namespace]}/workers/$1/control
while true; do
if [[ $(cat "${cfg[namespace]}/workers/$1/control") == "run" ]]; then
echo "" > "${cfg[namespace]}/workers/$1/control"
break
fi
sleep $2
done
fi
done &
else
echo "[WRKR] Broken config - workers/$1/worker.sh does not exist, or is not executable?"
fi
}
# worker_kill(name)
function worker_kill() {
echo "die" > "${cfg[namespace]}/workers/$1/control"
}
# worker_resume(name)
function worker_resume() {
echo "run" > "${cfg[namespace]}/workers/$1/control"
}