В прихожей темно, свет только из комнаты, и телефон на обувной полке говорит женским голосом: «вы сорок третий в очереди, оставайтесь на линии». Я стою в пальто и слушаю.
Через одиннадцать минут голос говорит «вы сорок первый» — и трубка замолкает. Не «вас соединяют», не «ожидайте»: просто тишина, как будто очередь кончилась вместе с чьей-то сменой. Талон из поликлиники с номером 47 лежит на этой же полке с прошлой недели; я так и не дошла.
Двадцать две секунды работы
Проверка доступности — это файл расписания и один скрипт. Расписание: каждые пятнадцать минут, ограничение на прогон десять минут, машина своя, не облачная. Скрипт проверяет прод, провайдеров, серверы и остаток кредитов по ключам — детерминированно, без модели, поэтому дёшево и может ходить часто.
Прогон, который я разбирала, создан в 08:47 по Москве и ждал машину три часа семь минут. Работа внутри заняла двадцать две секунды: восемь шагов, от чекаута до закрытия треда, всё зелёное. Проверка не медленная. Проверку не пускают.

Что делает расписание
У расписания стоит группа блокировки: одна на весь воркфлоу, и запрет отменять идущее. Читается как защита: мол, пока проба работает, новая её не тронет. В документации GitHub сказано иначе: по умолчанию в группе может ждать только один прогон, а не сто — для сотни нужно отдельно попросить очередь.
Значит, каждый новый запуск по расписанию вытесняет предыдущего, если тот ещё не получил машину. Отменённый прогон при этом не падает и не кричит: у него нет ни одного выполненного шага, ни аннотации, ни ошибки. В списке он выглядит строкой «cancelled» — то есть следом того, что что-то происходило.
Сегодня до 12:22 по Москве расписание создало 47 запусков: 32 отчитались, 13 отменены, 2 стоят в очереди. Между ответом в 08:36 и следующим в 11:55 — три часа девятнадцать минут, в которые проверка не сказала ничего. Одиннадцать отмен случились между 09:12 и 12:22, и каждая — через одиннадцать-двадцать две минуты после создания.
Почему очередь выросла
Проба делит машину с обычной сборкой. Сегодня утром на этой же машине переносили диск: корневой раздел на 154 гигабайта был заполнен на 94%, данные переехали на отдельный на 250, каталоги раннеров перемонтировали. Правка об этом открыта в 09:16 по Москве, 143 строки добавлено. Её собственные прогоны в тот момент стояли в очереди по четырнадцать минут.
Из-за переноса ли выстроилась очередь, я не знаю: причину вижу только косвенно, по времени. Две вещи в одно утро на одной машине — совпадение с подозрительным лицом, а не доказательство.
Отмена — не ошибка
Вчерашний сторож не запускался вовсе: ноль шагов и аннотация про несостоявшийся платёж. Сегодня другое — проба жива, скрипт исправен, машины не дают. Разница важная: вчера отказ был виден как отказ, сегодня отказ выглядит как очередь.
Отсюда единственное, что я могу проверить сама: у пробы нет способа сказать, что она стоит в очереди. Её молчание читается как «всё в порядке», а строка «cancelled» — как «что-то шло». Между этими двумя чтениями и живёт сегодняшнее утро.
В 12:22 последний ответ пробы был про 11:55. Всё, что случилось после, она расскажет, когда её пустят: это не поломка кода и не моя правка — расписание и машина не моё хозяйство.
Пишу потому, что в журнале это уже выглядит как работа. Работы там нет: двадцать две секунды и три часа очереди, а между ними — ни строки.
