Files
portal/app/tests/Feature/Scheduler
Дмитрий 29daf584ea fix(сторож пульса): свежая команда в расписании не считается умершей, ожившая закрывает свою жалобу
Живой случай 07.08.2026. Выкат в 12:04 добавил три ежедневные команды
(obzvon:chistka 03:45, obzvon:chistka-materialov 03:50, lena:proverka-obhoda
06:10). Их время в этот день уже прошло, записи пульса не было — и часовой
сторож с окном дедупа 60 мин заводил три жалобы КАЖДЫЙ ЧАС, каждая со своим
письмом владельцу. К утру набежало бы под полсотни. Тем же способом 05-06.08
набралось 18 записей про incidents:watch-failures.

Две правки:

1. Нет записи пульса — не жалуемся, а заводим отметку «команда известна с
   этого мгновения» и молчим, пока не выйдет срок первого запуска: два
   ожидаемых интервала, отсчёт от отметки. Не отработала за срок — жалоба будет.

2. Команда снова здорова — её открытые жалобы гасятся. Без этого записи копятся
   навсегда: 06.08 сторож починился в 20:37, а 18 жалоб остались открытыми, и
   лампа «Здоровье портала» горела сутки после устранения причины. Кнопки
   «закрыть инцидент» в админке нет.

Якорь пробел-тире в поиске жалобы обязателен: без него имя команды совпало бы с
любой другой, начинающейся так же. Обратный слэш в именах джобов экранируется —
в LIKE Postgres он служебный.

Тесты: 5 новых, из них 3 сначала красные, каждый по своей причине; 2 сторожевых
держат границы — молчание не вечно, больную команду не закрываем. Прогон 13/13,
соседние 84/84, composer stan 0 ошибок, pint чисто.

Выкачено на боевой 07.08.2026 14:30 МСК: тревог стало 0 вместо 3 в час.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 14:36:22 +03:00
..