Щось зламалось уночі · де дивитися першим ділом
Куди заходить адміністратор 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, що саме видно ззовні, з якого часу й на якій сторінці · куди писати.