http.sh/src/worker.sh

37 lines
933 B
Bash
Raw Normal View History

#!/usr/bin/env bash
2020-07-27 10:59:15 +02:00
# worker.sh - setup and control of workers
# worker_add(name, interval)
function worker_add() {
if [[ -x "${cfg[namespace]}/workers/$1/worker.sh" ]]; then
2020-10-05 02:23:14 +02:00
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 &
2020-07-27 10:59:15 +02:00
else
2020-10-05 02:23:14 +02:00
echo "[WRKR] Broken config - workers/$1/worker.sh does not exist, or is not executable?"
2020-07-27 10:59:15 +02:00
fi
}
# worker_kill(name)
function worker_kill() {
echo "die" > "${cfg[namespace]}/workers/$1/control"
2020-07-27 10:59:15 +02:00
}
# worker_resume(name)
function worker_resume() {
echo "run" > "${cfg[namespace]}/workers/$1/control"
}