- adding maxAttempts and errorCallback to Worker.sync - split checkBalance into two functions - made checkZombies async so it can utilize Worker.sync
33 lines
1000 B
Bash
33 lines
1000 B
Bash
# maxMemoryUsage must be defined
|
|
|
|
function usedMemoryPercent () {
|
|
memoryAvailable=$(head /proc/meminfo|grep MemAvail|grep -Po '\d+');
|
|
totalMemory=$(head /proc/meminfo|grep MemTotal|grep -Po '\d+');
|
|
difference=$(expr $totalMemory - $memoryAvailable);
|
|
difference=$(expr $difference \* 100);
|
|
memory=$(expr $difference / $totalMemory);
|
|
}
|
|
|
|
function buildRunners () {
|
|
baseName="crunner0";
|
|
namePrefix="crunner-batch-${RANDOM}";
|
|
runners="";
|
|
usedMemoryPercent;
|
|
|
|
# maxMemoryUsage must be defined
|
|
until [[ $memory -gt $maxMemoryUsage ]]; do
|
|
|
|
runnerName="${namePrefix}-id-${RANDOM}";
|
|
lxc-start-ephemeral -o $baseName -n $runnerName --union-type overlayfs -d;
|
|
|
|
if [[ $? -eq 0 ]]; then
|
|
runners="${runners};${runnerName}";
|
|
fi
|
|
usedMemoryPercent;
|
|
done
|
|
}
|
|
buildRunners;
|
|
|
|
# Add curl to manager here. Sending status report to manager
|
|
# curl -X POST "${PHONE_HOME}" -d'{"memory":${memory}, "runnersShort": "${runners}", "runnersLong": "'"$(lxc-ls --fancy)"'", "id": "${WORKER_UUID}"}'
|
|
exit 0; |