Щось зламалось уночі · де дивитися першим ділом

Куди заходить адміністратор BDO UA Translate, коли автоматика мовчки не спрацювала: стан фонових черг, розклад задач, значення станів і таблиця «симптом → де дивитися».

Починається все з однієї сторінки · «Cron Jobs». Вона в меню профілю, у групі налаштувань, і показує дві речі поруч: стан фонових черг і розклад задач.

Порядок на ній обраний навмисно: черги стоять вище за розклад. Розклад каже лише про наміри · «мало запуститись». Виконує задачі воркер в окремому контейнері, і його зупинка ззовні невидима.

Відкрити автоматичні задачі

Доступ: сторінка вимагає права «керування налаштуваннями», а воно за роллю є лише в супер-адміністратора. Адміністратор отримує його точково · винятком дозволу (як це видається).

Крок 1. Фонові черги · чи є кому працювати

Чотири черги: default, maintenance, io, export. У кожної три числа: скільки задач чекає, коли воркер востаннє щось виконав і стан.

Стан читається так:

  • черга стоїть · червоне. Задачі чекають, а воркер понад 15 хвилин нічого не брав. Це та сама поломка, за якою ви прийшли · далі шукати нема чого;
  • у роботі · задачі є, воркер їх бере. Нормально;
  • порожня · нічого не чекає.

Пастка тут одна. «Порожня» без дати останньої обробки означає не спокій, а простій: через цю чергу після останнього перезапуску не пройшло нічого. Це не той самий стан, що «порожня, остання обробка 3 хвилини тому».

Так це вже було насправді: локальна черга default мовчки простояла шість днів і накопичила задачі, бо ззовні все виглядало спокійно.

Під таблицею · лічильник невдалих фонових задач і дата останньої. Журнал чиститься автоматично через 168 годин, тому шукати там сенс має в межах тижня: старіше вже прибрано, і порожній лічильник не доводить, що місяць тому все було добре.

Якщо замість таблиці написано «Черги недоступні» · це Redis, а не задачі.

Крок 2. Розклад · що саме не відпрацювало

Нижче список усіх зареєстрованих задач із розкладом, останнім і наступним запуском. У колонці «Останній запуск» пʼять станів:

Стан Що означає
успішно відпрацювало вчасно
з помилкою останній запуск завершився невдало · наведіть курсор, у підказці буде код виходу
давно не було запуск був успішний, але надто давно для цього розкладу · зазвичай симптом зупиненого планувальника
пропущено попередній запуск ще виконувався або умова не виконалась
ще не було після останнього перезапуску задача не запускалась жодного разу

«Давно не було» на всіх задачах одразу читається інакше, ніж на одній: одна задача · її власна проблема, усі разом · стоїть планувальник.

Симптом → де дивитися

Найчастіше про поломку дізнаються не з панелі, а з того, що сайт показує не те. Ось прямий перехід від симптому до конкретної задачі:

Що видно ззовні Яка задача
Публічний прогрес показує старі цифри WarmPublicProgressCacheJob · кожні 15 хвилин
Пошук по перекладах не знаходить свіжих змін RebuildTranslationSearchJob · щодня о 03:30
Сторінка цілісності сутностей показує стару картину bdo:integrity-cache-warm · кожні 10 хвилин
Кнопка завантаження показує стару версію програми RefreshBdoUaClientReleaseJob · кожні 10 хвилин
Панель не помітила, що вийшов офіційний патч RefreshOfficialPatchStateJob · кожні 30 хвилин з 10 до 15 години
Аналітика без учорашніх даних bdo:analytics-rollup · щогодини, з догоном о 00:20
Статистика внеску завмерла bdo:statistics-project · щогодини, повний перерахунок о 00:10
Баг-репорт не дійшов у Discord bdo:bug-reports:redeliver · кожні 15 хвилин
Не видно, хто зі стрімерів онлайн bdo:twitch-live-sync · кожні 2 хвилини

Чого на цій сторінці немає

Три поломки лікуються не тут, а на своїх сторінках · і в кожної є власна кнопка:

  • імпорт англійського джерела обірвався · сторінка імпорту, дія «Продовжити імпорт». Повторний запуск безпечний: staging очищається на старті (весь порядок);
  • збірка LOC впала · рядок збірки, дія «Повторити»;
  • цілісність сутностей показує застаріле · кнопка «Перерахувати» (що там за числа).

Чого не робити

  • Не тиснути «Повторити» чи «Продовжити» по колу, поки не подивились на черги: якщо воркер стоїть, кожен новий запуск просто додає задачу в чергу, яку ніхто не бере.
  • Не міняти розклад через панель · сторінка нічого не запускає й не змінює. Розклад живе в коді, і зміна доїжджає деплоєм.
  • Не вважати чистий лічильник помилок доказом, що все працювало: невдалі задачі старші за тиждень уже прибрані.

Якщо на сторінці чисто, а проблема є

Тоді це не автоматика. Далі йдуть логи сервера · рівень, на якому панель уже не допомагає. Опишіть у Discord, що саме видно ззовні, з якого часу й на якій сторінці · куди писати.