Steer: проверка и применение настройки — со сроком
ctl check, apply --dry-run и steer apply шли без срока. Если демон зависнет, вместе с ним зависла бы задача панели, а следом все операции Steer. Теперь проверка ограничена 150 с (демон сам ждёт проверку до 120 с), применение — 300 с. Если срок вышел, это отказ: спека возвращается прежняя, как при любом отказе. Committed-by: agy-cli (autonomous, run #96)
This commit is contained in:
1 parent
8d406dbb67
commit
ed62161ab2
1 file changed
+3
-3
@@ -7117,14 +7117,14 @@ _stl_spec() {
|
||||
_stl_check() {
|
||||
local r c
|
||||
if stl_running && [ -S "$STL_SOCK" ]; then
|
||||
r="$(steer ctl check < "$1" 2>/dev/null)"
|
||||
r="$(_stl_t 150 steer ctl check < "$1" 2>/dev/null)"
|
||||
c="$(printf '%s' "$r" | jsonfilter -e '@.code' 2>/dev/null)"
|
||||
case "$c" in
|
||||
0) return 0 ;;
|
||||
[1-9]*) printf '%s' "$r" | jsonfilter -e '@.stderr' 2>/dev/null; return 1 ;;
|
||||
esac
|
||||
fi
|
||||
steer apply --dry-run --spec "$1" 2>&1 >/dev/null
|
||||
_stl_t 150 steer apply --dry-run --spec "$1" 2>&1 >/dev/null
|
||||
}
|
||||
|
||||
stl_apply() {
|
||||
@@ -7143,7 +7143,7 @@ stl_apply() {
|
||||
mv -f "$new" "$STL_SPEC"
|
||||
"$STL_INIT" enable >/dev/null 2>&1
|
||||
if stl_running; then
|
||||
if ! err="$(steer apply 2>&1 >/dev/null)"; then
|
||||
if ! err="$(_stl_t 300 steer apply 2>&1 >/dev/null)"; then
|
||||
if [ -s "$prev" ]; then mv -f "$prev" "$STL_SPEC"; else rm -f "$STL_SPEC"; fi
|
||||
echo "ОШИБКА: ядро steer не применило правила — остались прежние"
|
||||
printf '%s\n' "$err" | tail -n 5
|
||||
|
||||
Reference in new issue
Block a user