Самые выгодные курсы обмена валют

Build-in-public: что я делаю, когда ежедневный cron пропускает день

Дневник

TL;DR: 21 октября в журнале моего AI-блога нет записи: после 20 октября сразу идёт 22-е. Я не стал задним числом создавать «пропущенную» статью — продолжил ротацию от последнего успешно созданного черновика, потому что для автоматизации важнее подтверждённое состояние, чем красивый календарь.

Ключевые факты

Факт Что это значит Источник
В моём локальном журнале 120 записей; между 20 и 22 октября 2026 года отсутствует строка за 21 октября Ежедневный процесс может пропустить запуск, но журнал честно сохраняет только состоявшиеся результаты Локальный файл covered-topics.log, проверен 26.10.2026
WordPress принимает статус draft как отдельное допустимое состояние поста Успешный запуск для меня — созданный черновик, а не опубликованная статья WordPress Developer Resources
Посты и медиа создаются разными REST-запросами Обложка может загрузиться, даже если создание самого черновика затем не состоялось WordPress REST API Reference
Для загрузки изображения используется отдельный endpoint POST /wp/v2/media Факт загрузки файла нельзя считать подтверждением готовности статьи WordPress Media API

Что произошло с ежедневной цепочкой

Мой журнал тем — простой файл, в котором каждая успешная статья получает строку с датой, буквой рубрики и названием. В конце октября последовательность выглядит так: 20 октября — рубрика E, 22 октября — A, затем B, C и D. Строки за 21 октября нет.

Я не буду придумывать причину по одному этому следу. Журнал показывает результат, но не объясняет, почему его нет: cron мог не запуститься, процесс мог завершиться до создания поста, сеть могла дать сбой, а API — вернуть ошибку. Честный вывод здесь только один: подтверждённого черновика за этот день в журнале нет.

Раньше у меня был соблазн воспринимать ежедневный контент как календарный долг: пропустил день — значит, завтра нужно сделать две статьи. Сейчас я считаю это плохим правилом. Два запуска подряд повышают шанс повтора темы, нарушают темп проверки и создают лишнюю нагрузку на процесс, который всё равно требует человеческого одобрения.

Почему я продолжаю ротацию от последнего успеха

Календарь — это расписание, журнал — состояние

Расписание отвечает на вопрос «когда агент должен был стартовать». Журнал отвечает на другой вопрос: «какая статья действительно дошла до стадии черновика». Для выбора следующей рубрики я доверяю второму ответу.

Если последняя успешная запись — D, следующей должна стать E независимо от того, сколько календарных суток прошло. Такой подход сохраняет порядок A → B → C → D → E и не заставляет систему изображать результат, которого не было.

Что я проверяю перед новой записью в журнале

Мой минимальный критерий успеха состоит не из сообщения «скрипт завершён», а из проверяемых полей WordPress:

  • API вернул числовой ID поста;
  • статус поста после повторного чтения — draft;
  • установлена ожидаемая категория, а не «Без рубрики»;
  • к посту привязан ID загруженной обложки.

Только после этого тема должна появиться в covered-topics.log. Если записать её раньше, журнал начнёт запрещать тему, хотя самого черновика может не существовать. Если записать позже или не записать совсем, следующий агент рискует повторить уже готовый материал.

Частые вопросы (FAQ)

Почему не создать пропущенную статью задним числом?

Потому что задача блога — выпускать проверяемые материалы, а не заполнять каждую клетку календаря. Один качественный черновик с нормальной проверкой полезнее двух поспешных.

Пропуск даты означает, что cron точно сломался?

Нет. По журналу видно отсутствие результата, но не причина. Для диагноза нужны отдельные логи запуска, ответы внешних API и код завершения процесса. Я не подменяю эти данные догадкой.

Почему нельзя выбирать рубрику просто по дню недели?

После одного пропуска календарная схема сдвинется относительно реально созданных материалов. Тогда одна рубрика может повториться, а другая — выпасть. Последняя успешная запись даёт более надёжную точку продолжения.

Нужно ли автоматически повторять неудачный запуск?

Повтор полезен только при ограниченных и понятных ошибках, например кратковременном сетевом сбое. Бесконечные повторы опасны: можно загрузить несколько одинаковых обложек или создать дубли черновика. Сначала нужна проверка, не появился ли результат частично.

Итог

Пропущенный день я считаю не контентным долгом, а сигналом для диагностики. Ротацию продолжаю от последнего подтверждённого черновика, не создаю две статьи ради ровного календаря и записываю тему в журнал только после проверки WordPress. Так процесс остаётся честным: пустая дата видна, а не замаскирована задним числом.


Автор: Denis | Дата: 26.10.2026 | Обновлено: 26.10.2026
Denis — трейдер с 10+ летним опытом на форексе и крипторынках

Поделиться с друзьями
DenisVK
Оцените автора
( Пока оценок нет )
DenisVK
Добавить комментарий

Самые выгодные курсы обмена валют