2021-09-22 14:52:03 +02:00
|
|
|
#!/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() {
|
2020-10-02 23:40:02 +02:00
|
|
|
if [[ -x "${cfg[namespace]}/workers/$1/worker.sh" ]]; then
|
2020-10-05 02:23:14 +02:00
|
|
|
echo "[WRKR] adding worker $1"
|
2020-07-27 11:07:03 +02:00
|
|
|
while true; do
|
2020-10-05 02:17:48 +02:00
|
|
|
source "${cfg[namespace]}/workers/$1/worker.sh"
|
2020-07-27 11:07:03 +02:00
|
|
|
sleep $2
|
2020-10-02 23:40:02 +02:00
|
|
|
if [[ $(cat "${cfg[namespace]}/workers/$1/control") == "die" ]]; then
|
|
|
|
echo "" > ${cfg[namespace]}/workers/$1/control
|
2020-07-27 11:07:03 +02:00
|
|
|
while true; do
|
2020-10-02 23:40:02 +02:00
|
|
|
if [[ $(cat "${cfg[namespace]}/workers/$1/control") == "run" ]]; then
|
|
|
|
echo "" > "${cfg[namespace]}/workers/$1/control"
|
2020-07-27 11:07:03 +02:00
|
|
|
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() {
|
2020-10-02 23:40:02 +02:00
|
|
|
echo "die" > "${cfg[namespace]}/workers/$1/control"
|
2020-07-27 10:59:15 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
# worker_resume(name)
|
|
|
|
function worker_resume() {
|
2020-10-02 23:40:02 +02:00
|
|
|
echo "run" > "${cfg[namespace]}/workers/$1/control"
|
|
|
|
}
|