Elbuz записує в «Журнал операцій» кожен прогін за розкладом і кожну відмову з причиною, тому причину ранкової тиші видно за кілька хвилин.
Коли це знадобиться:
- За ніч у журналі жодного рядка — шість перевірок ведуть від найчастішої причини до рідкісних.
- Руками джерело вантажиться, а за розкладом ні — розклад пропускає вимкнене джерело чи контрагента і пише в журнал попередження з причиною.
- У журналі рядок «конфлікт обробки даних» — прогін збігся з іншим і пропущений до наступного збігу правила.
- Прогін обірвався, а розклад мовчить і далі — завислий замок програма знімає сама за 10–60 хвилин.
З чого почати: відкрийте «Журнал операцій» за ту ніч.
Що допоможе знайти причину
- Шість перевірок по порядку — від найчастішої причини до найрідшої; кожна наступна має сенс, коли пройдена попередня.
- Попередження «Джерело … пропущено розкладом» — називає, чому розклад не взяв джерело, яке кнопкою вантажиться.
- Рядок «конфлікт обробки даних» — показує, що прогін збігся з іншим прогоном того самого роду.
- Сторожі завислих замків — самі знімають слід обірваного прогону, щоб розклад запрацював знову.
- Таблиця повідомлень — кожна відмова розкладу з причиною і тим, що зробити.
Де це і хто має доступ
- Меню
- Кабінет → Журнал операцій — тут видно прогони й відмови
- Розклад сутності
- картка джерела, шаблону чи парсера → «Налаштувати» або «Налаштування розкладу»
- Журнал одного джерела
- картка джерела прайсу → вкладка «Журнал»
- Право доступу
- право «Розклад завдань» у правах груп і право на картку сутності
Усі входи у вікно розкладу — у статті про налаштування розкладу.
Шість перевірок, коли нічого не сталося
Порядок тут не випадковий: перевірки йдуть від найчастішої причини до найрідшої, і кожна наступна має сенс лише тоді, коли попередня пройдена.
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
Розклад мовчить: що перевірити
Перевірка перша — журнал. Порожньо за всю ніч — прогін або не починався, або почався й одразу вийшов, не лишивши сліду; обидва випадки розбираємо далі. Є рядок про відмову — прогін починався, і причина написана прямо в ньому; це наступний розділ.
Порожній журнал не доводить, що програма не працювала. Без рядка минають вимкнений модуль парсингу для розкладу самого парсера, порожнє завдання черги й пропуск завдання черги через зайнятий шаблон.
Перевірка друга — галочка «Активність». Найчастіша причина з усіх шести. Вимкнений розклад не відбирається програмою взагалі, і зовні це виглядає так само, як поломка: у журналі порожньо, повідомлень немає. Заодно переконайтеся, що правило в конструкторі читається словами: порожнє правило програма теж пропускає мовчки. Чому галочка буває знятою, хоча правило вже стоїть, — у розділі про вікно розкладу.
Перевірка третя — сутність і той, кому вона належить. Розклад пропускає вимкнене джерело, вимкненого контрагента й браузерний парсер, хоча кнопкою вони вантажаться. Як це розпізнати — у наступному розділі.
Перевірка четверта — часовий пояс. Звіряйте час з полем Time zone у вікні розкладу: «10:00» розуміється в поясі користувача admin. Якщо поле порожнє або пояс у ньому явно не той, у якому ви живете, — напишіть у підтримку.
Перевірка пʼята — відмова через чужий прогін. Конфлікт завжди пишеться в журнал, тому шукати його треба саме там — рядком зі словами «конфлікт обробки даних». Якщо такого рядка немає, а прогонів усе одно немає, дивіться розділ про завислий замок: він мовчить так само, як вимкнена галочка.
Перевірка шоста — сама робота. Розклад нічого не лагодить: шаблон, який падає при ручному запуску, впаде й уночі, тільки дивитися на це буде нікому. Але зверніть увагу на зворотний бік: успішний ручний запуск не знімає підозри з перевірки третьої — кнопка на стан джерела й контрагента не дивиться, а розклад дивиться.
Є сьома причина, якої в інтерфейсі не видно взагалі: безкоштовний акаунт програма щохвилинним обходом не відвідує. Розклад при цьому заводиться, галочка ставиться — і не відбувається нічого. Те саме з деактивованим акаунтом, але його ви помітите: замість програми відкриється сторінка-заглушка. Якщо всі шість перевірок пройдені, а в журналі тижнями порожньо — це питання до підтримки, з інтерфейсу воно не вирішується.
Чому джерело вантажиться кнопкою, а за розкладом ні
Ось причина, через яку більшість людей і потрапляє в глухий кут. Розклад запускає ту саму роботу, що й кнопка, але перед запуском відсіює те, чого кнопка не відсіює. Прайс-лист розклад пропустить, якщо:
- джерело вимкнене. У списку прайс-листів воно видно, з пілюлею стану «Вимкнено»; вмикається пунктом «Увімкнути джерело» в меню рядка;
- вимкнений контрагент, якому джерело належить. Тоді джерела в списку прайс-листів не видно взагалі — шукайте самого контрагента й галочку активності в його картці;
- парсер джерела налаштований на стороні браузера, а не на нашому сервері. Такий парсер працює лише тоді, коли ви сидите у програмі, і ніякий розклад його не запустить;
- джерело вже видалене, а розклад від нього лишився. Такий рядок нікому не заважає, але й не зробить нічого — і прибрати його з інтерфейсу зараз не можна.
У перших трьох випадках кнопка «Імпортувати» спрацює, а розклад — ні. Саме тому перевірка «а руками запускається?» цей випадок не ловить: руками він якраз запускається. Зате в журналі на кожен такий пропуск лишається рядок-попередження: «Джерело … пропущено розкладом» — і в ньому названо причину: вимкнено джерело або контрагента, джерело видалено чи парсер працює у браузері.
1
Пілюля «Вимкнено»2
Пункт «Увімкнути джерело»- Пілюля «Вимкнено» — у цьому стані розклад пропускає джерело мовчки.
- «Увімкнути джерело» — єдине місце, де джерело вмикається назад.
Вимкнений шаблон вивантаження розклад пропускає так само — про це докладно в статті про шаблони вивантаження.
Про парсинг сайтів окремо: він за розкладом виходить мовчки, якщо в акаунті вимкнено модуль парсингу сайтів. Ні рядка в журналі, ні повідомлення — просто нічого. Прайс-джерело, яке тягне серверний парсер, той самий вимкнений модуль теж пропускає, але вже з попередженням «серверний парсинг для акаунта не підключено».
Чому прогін пропущено через інший прогін
Кожен обробник перед стартом дивиться, чи не працює зараз інший такий самий. Працює — прогін не відкладається на пізніше, а пропускається до наступного збігу правила. Тобто розклад «щодня о 3:00», який спіткнувся об чужий прогін, наступної спроби зробить не за пʼять хвилин, а завтра о третій.
У журналі це виглядає як один із чотирьох рядків, залежно від того, що саме не поїхало:
- «Скасовано вивантаження за розкладом, причина - вивантажується інший шаблон (конфлікт обробки даних).»
- «Скасовано завантаження прайс-листа за розкладом, причина - завантажується інший прайс-лист (конфлікт обробки даних).»
- «Скасовано завантаження за розкладом, причина - завантажується інший шаблон (конфлікт обробки даних).»
- «Скасовано завантаження за розкладом, причина - завантажується інший шаблон парсингу (конфлікт обробки даних).»
Є ще пʼятий рядок, і він про інше — не про два різні розклади, а про одне й те саме джерело:
«Завантаження цього джерела вже виконується (запущено о 03:00). Дочекайтеся завершення або зупиніть його кнопкою «Стоп».»
Означає він, що попередній прогін цього прайсу ще живий — або обірвався менш ніж пʼятнадцять хвилин тому. Розклад таке джерело не чіпає й чекає наступного збігу правила. Незавершений прогін видно на вкладці «Журнал» картки джерела.
Лікується це рознесенням розкладів у часі. Одна тонкість: розклад «Обробка прайс-листів», який бере всі джерела одразу, займає той самий замок, що й розклад окремого джерела. Тому «всі прайси о 2:00» і «один важкий прайс о 2:00» — це конфлікт, хоч налаштовані вони в різних місцях.
Якщо завантаження чи вивантаження заважають одне одному, у чаті консультанта, відкритому з вікна прайс-листів або вивантажень, є підказка «Розклад без конфліктів». Число поруч — скільки завдань перетинаються в найближчу добу за середньою тривалістю останніх 30 днів, плюс скасовані за 7 днів запуски. Консультант покаже, що запускається одночасно, скільки воно триває і на який час його зсунути.
Зсув — планом «Змінити час розкладу» з кнопкою підтвердження; для цього потрібен доступ до вікна розкладу, без нього консультант лише порадить час. Системне завдання «тільки для читання» консультант позначає як таке, що не змінюється, і пропонує зсунути друге, звичайне завдання з тієї ж пари.
Що робити, коли замок прогону завис
Замок ставить сам прогін на старті й знімає, коли закінчив. Процес, який обірвався, замок за собою не прибирає — і тоді розклад мовчить не через конфлікт, а через слід від померлого прогону. Проти цього в програмі є сторожі, які щохвилини перевіряють замки й знімають ті, що не подають ознак життя.
Пороги в них різні, бо різні підсистеми пишуть у журнал з різною частотою:
| Що виконувалося | Від старту | Тиша в журналі |
|---|---|---|
| будь-яке завдання | 60 хв | 30 хв |
| обробка прайс-листів | — | 30 хв |
| завантаження за шаблоном | 15 хв | 15 хв |
| парсинг сайту, фонова частина | — | 15 хв |
| парсинг сайту, фонова частина, яка не подала жодного сигналу | 10 хв | — |
| черга завдань | 10 хв | 10 хв |
| отримання пошти | — | 5 хв |
| індексація пошуку | 20 хв | 20 хв |
Дані таблицею
| Показник | Будь-яке завдання | Індексація пошуку | Завантаження за шаблоном | Черга завдань | Обробка прайс-листів | Парсинг сайту, фонова частина | Парсинг сайту без жодного сигналу | Отримання пошти |
|---|---|---|---|---|---|---|---|---|
| Від старту | 60 | 20 | 15 | 10 | — | — | 10 | — |
| Тиша в журналі | 30 | 20 | 15 | 10 | 30 | 15 | — | 5 |
Розклад парсингу має ті самі пороги, що й фонова частина роботи: якщо процес обірвався й перестав пінгувати, замок знімається за 10–15 хвилин, а не за годину.
Живий прогін, який регулярно пише в журнал, сторож не обриває, скільки б той не тривав, — багатогодинне завантаження великого прайсу він не перерве. «Регулярно» тут — частіше ніж раз на півгодини: саме стільки триває дозволена тиша. Найгірший випадок для вас — година очікування, поки загальний сторож прибере слід померлого процесу.
Чекати годину не обовʼязково: замок знімає збереження форми розкладу. Відкрийте вікно розкладу й змініть у ньому будь-що — хоч крапку в «Примітці»: форма збережеться сама, і замок зніметься. Одна умова: відкрити треба розклад тієї самої сутності, чий прогін обірвався, бо знімається замок лише її рядка. Знайти її можна в журналі — за останнім прогоном, який почався й не завершився.
Не сплутайте з іншим сторожем. У прайс-листа є власна перевірка зависань, і працює вона зовсім інакше — не за розкладом, а в момент, коли ви відкриваєте вкладку «Журнал» картки джерела, і дивиться вона на прогони, старші за пʼятнадцять хвилин. Це різні механізми з різними порогами: журнал прайс-листа лікує свій статус «Триває», сторожі з цієї статті знімають замки розкладу.
Сценарії
Нічний прогін усіх прайсів пропускається через важке джерело
Що зробити. Знайдіть у журналі рядок «Скасовано завантаження прайс-листа за розкладом … (конфлікт обробки даних)» і перевірте, чи не стоїть розклад окремого джерела на той самий час, що й «Обробка прайс-листів». Зсуньте розклад джерела на годину раніше чи пізніше.
Що вийде. Обидва прогони йдуть по черзі й більше не займають один замок одночасно.
Постачальника тимчасово вимкнули, а розклад лишився
Що зробити. Нічого: поки джерело чи контрагент вимкнені, розклад їх пропускає і пише попередження «Джерело … пропущено розкладом». Щоб відновити прогони, увімкніть джерело пунктом «Увімкнути джерело» або контрагента в його картці.
Що вийде. На наступному збігу правила джерело знову вантажиться само; правило розкладу переналаштовувати не треба.
Прогін обірвався вночі, а запустити треба вже зараз
Що зробити. Знайдіть у журналі останній прогін, який почався й не завершився. Відкрийте розклад саме цієї сутності й змініть у ньому будь-що, наприклад «Примітку».
Що вийде. Замок знімається разом зі збереженням форми, і наступний збіг правила або ручний запуск проходить без відмови.
Що робити, коли в журналі відмова розкладу
| Що ви бачите | Чому так | Що зробити |
|---|---|---|
| У «Журналі операцій» за ніч жодного рядка | Прогін не починався. Найчастіше — знята галочка «Активність»: рядок розкладу створюється вимкненим при першому відкритті вікна | Пройти шість перевірок по порядку (перевірки) |
| «Скасовано вивантаження за розкладом, причина - вивантажується інший шаблон (конфлікт обробки даних).» | У цей момент уже йшло інше вивантаження. Прогін пропущено до наступного збігу правила | Рознести розклади шаблонів у часі (про конфлікти) |
| «Скасовано завантаження прайс-листа за розкладом, причина - завантажується інший прайс-лист (конфлікт обробки даних).» | Ішов інший імпорт прайсів. Розклад «усі прайси» займає той самий замок, що й розклад одного джерела, а сам він додатково чекає ще й на парсинг сайту | Рознести розклади джерел; перевірити, чи не стоїть на той самий час «Обробка прайс-листів» (про конфлікти) |
| «Скасовано завантаження за розкладом, причина - завантажується інший шаблон (конфлікт обробки даних).» | Ішло інше завантаження за шаблоном | Рознести розклади шаблонів завантаження (про конфлікти) |
| «Скасовано завантаження за розкладом, причина - завантажується інший шаблон парсингу (конфлікт обробки даних).» | Ішов інший парсинг сайту | Рознести розклади парсерів (про конфлікти) |
| «Завантаження цього джерела вже виконується (запущено о 03:00). Дочекайтеся завершення або зупиніть його кнопкою «Стоп».» | Прайс уже завантажувався в цей момент: попередній прогін ще живий або обірвався менш ніж пʼятнадцять хвилин тому | Подивитися вкладку «Журнал» картки джерела — там видно незавершений прогін (про відмови) |
| Розклад увімкнено, руками джерело вантажиться, а вночі в журналі лише попередження «Джерело … пропущено розкладом» | Розклад пропускає джерело, якщо воно вимкнене, вимкнений його контрагент або парсер джерела налаштований на стороні браузера. Кнопка «Імпортувати» на це не дивиться | Увімкнути джерело пунктом «Увімкнути джерело»; якщо джерела немає в списку — увімкнути контрагента (про пропуск джерела) |
| Галочка «Активність» стоїть, а прогонів усе одно немає | Правило може бути порожнім або зіпсованим — таке завдання програма мовчки пропускає, не повідомляючи нічого | Відкрити вікно розкладу й перезібрати правило конструктором наново (про вікно розкладу) |
| Розклад увімкнено тижнями, у журналі порожньо, усі перевірки пройдені | Щохвилинний обхід не заходить на безкоштовні й деактивовані акаунти. З програми цю ознаку не видно | Звернутися в підтримку (перевірки) |
Часті запитання
Галочку поставив, а прогонів немає. Що ще перевірити?
Чи ввімкнені сама сутність і її контрагент (тоді в журналі є попередження «пропущено розкладом»), часовий пояс у полі Time zone і чи немає в журналі рядка «конфлікт обробки даних». Порядок — у шести перевірках.
Два розклади збіглися за часом. Другий виконається пізніше?
Ні. Другий прогін пропускається до наступного збігу правила, і в журнал іде рядок «конфлікт обробки даних». Розклад «щодня о 3:00» наступної спроби зробить завтра о третій. Рознесіть важкі розклади в часі.
Прогін завис, замок висить. Чекати годину?
Не обовʼязково. Відкрийте розклад тієї сутності, що застрягла, і змініть у ньому будь-що — хоч крапку в «Примітці». Форма збережеться сама, і замок зніметься. Інакше його знімуть сторожі, найпізніше за годину.
Чи можна, щоб пропущений прогін відбувся пізніше того ж дня?
Ні: пропущений прогін чекає наступного збігу правила. Якщо дані потрібні частіше, відмітьте в конструкторі розкладу кілька годин, наприклад 3, 9 і 15.
Розклад спрацював, але ціни все одно не ті. Де дивитися?
У вкладці «Журнал» картки джерела: там цифри кожного завантаження й розбір останнього. Детальніше: журнал прайс-листа.
Суміжні теми
- Якщо потрібна загальна картина, як налаштувати розклад, — автоматичний запуск за розкладом.
- Якщо операція пішла у фон і завершилась не повністю — черга завдань.
- Якщо не формується за розкладом шаблон вивантаження — запуск вивантаження.
- Якщо прогін відбувся, а привіз не те — журнал прайс-листа.

