Розклад увімкнено, а вранці нічого не сталося

21 хв

Учора ви відкрили розклад, вибрали час і закрили вікно. Сьогодні вранці ціни ті самі, файл за посиланням той самий, у журналі порожньо. Автоматичний запуск за розкладом мовчить не випадково — просто причину майже завжди видно з програми, треба лише знати, у якому порядку дивитися.

Далі — послідовність перевірок згори вниз: що записано в журналі за ту ніч, чи ввімкнено сам розклад, чи ввімкнені сутність і той, кому вона належить, чи не збігся прогін із чужим, чи не застрягла робота в черзі. І окремо — випадок, коли до вашого акаунта черга не доходить узагалі.

Розмова з підтримкою — замість читати: навіщо це потрібно, що налаштувати і що ви отримаєте.

Вікно
«Налаштування розкладу» і «Черга завдань»
Право доступу
у вікна розкладу власного права немає — його відкриває той, хто має доступ до картки прайсу, шаблону чи парсера; на «Чергу завдань» право є й видається окремо
Підготувати
сутність, яку хоча б раз запускали руками, і правильний часовий пояс у користувача admin

Який у вас випадок

Де це у програмі

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

Меню
пункту меню немає в жодного з вікон теми
Картка джерела прайсу
вкладка «Налаштування» → картка «Розклад» → кнопка «Налаштувати»
Список прайс-листів
бургер додаткових дій → «Налаштування розкладу» (одразу всі прайси й оновлення базового каталогу)
Картка шаблону вивантаження або завантаження
кнопка «Налаштування розкладу»
Налаштування парсера прайсу
кнопка «Налаштування розкладу»
Список валют і вікно резервних копій
кнопка «Налаштування розкладу»
«Черга завдань»
лічильник у нижньому рядку базового каталогу; посилання «Черга завдань» у картці шаблону вивантаження через API; вікна авто-збагачення товарів і масової генерації текстів
Картка джерела прайс-листа з блоком «Розклад»
1Кнопка «Налаштувати»
2Автозавантаження
  1. Кнопка «Налаштувати» — єдиний вхід до налаштування розкладу цього джерела.
  2. «Автозавантаження» — тут вмикається автоматичний забір файлу джерела.
Кнопка «Налаштування розкладу» в картці шаблону вивантаження
1Налаштування розкладу
  1. Налаштування розкладу — відкриває вікно з розкладом автоматичного вивантаження цього шаблону.

Розкладів, які заводяться з програми, сім: «Обробка прайс-листа» для одного джерела, «Обробка прайс-листів» для всіх одразу, «Вивантаження товарів», «Завантаження товарів», «Парсинг товарів із сайту», «Отримання курсів валют» і «Створення архівної копії БД». Три з них бувають в акаунті лише в одному екземплярі — «Обробка прайс-листів», «Отримання курсів валют» і «Створення архівної копії БД»: спроба завести другий такий розклад нічого не створює.

Ось як цим користуються на практиці, по всьому парку акаунтів:

  • «Обробка прайс-листа» — 761 розклад, з них увімкнено 252;
  • «Вивантаження товарів» — 268, увімкнено 153;
  • «Завантаження товарів» — 49, увімкнено 21;
  • «Парсинг товарів із сайту» — 27, увімкнено 3;
  • «Обробка прайс-листів» — увімкнено у 18 акаунтах;
  • «Створення архівної копії БД» — увімкнено в одному.

Розклад і черга завдань — різні речі

Обидва механізми працюють у фоні, обидва люди називають «автоматикою», але відповідають вони на різні питання. Розклад відповідає «коли почати». Черга завдань відповідає «що вже почато й не доведено до кінця». Операція, яка не встигає виконатися за один запит — масова генерація текстів, авто-збагачення, зіставлення через ШІ, — не чекає розкладу: вона стає завданням черги одразу і доробляється частинами.

нітакзнятастоїтьнітактакнінітакЩохвилини програмазвіряєчас із правиламирозкладівАкаунт активнийі платний?Галочка«Активність» стоїть?Час за правиломнастав?Такий самий прогінуже виконується?Сутність і її контрагентувімкнені?Прогін запускаєтьсяДовга частина роботиїде в «Чергу завдань»Запис у «Журналіоперацій»Не запуститься нічого,і сліду в журналі не будеРозклад не відбираєтьсяЧекає наступного збігуПрогін пропущено:«конфлікт обробки даних»Сутність пропущеномовчки:ні рядка в журналі
Шлях від «настала хвилина» до запису в журналі: пʼять розвилок. На трьох із них прогін зникає без сліду в журналі, на одній лишає рядок про відмову

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

Три прайс-листи з однаковим правилом «о 3:00» — це один прогін, а не три. Програма групує розклади за парою «тип завдання + правило» і передає обробнику весь список джерел одразу. Тому рознесення розкладів у часі має сенс тільки між різними типами роботи; однакові з однаковим правилом і так підуть разом.

Вікно розкладу: що в ньому є

Вікно маленьке й на перший погляд порожнє. Зверху — галочка «Активність» і конструктор правила, нижче три поля тільки для читання: «Поточна дата та час на сервері WEB», «Поточна дата та час на сервері DB» і Time zone. Найнижче — «Примітка», вільний текст для себе.

Вікно «Налаштування розкладу»
1Галочка «Активність»
2Конструктор правила
3Поле Time zone
  1. Поки галочка «Активність» не позначена, програма не бачить розклад.
  2. Правило збирається словами — писати його вручну не потрібно.
  3. У вказаному тут часовому поясі розуміється час запуску.

Кнопки «Зберегти» у цьому вікні немає, і це не помилка інтерфейсу. Форма зберігається сама, щойно ви щось у ній змінили. Людина шукає кнопку, не знаходить і закриває вікно з думкою «не зберіг» — а насправді збережено все, включно з випадковим кліком по конструктору.

Правило збирається конструктором словами: «Кожен тиждень у понеділок у 10:00». Вручну писати нічого не треба, і рядка з зірочками ви ніде не побачите. У конструктора є два обмеження, які іноді сприймають за поломку. Періоду «кожну хвилину» в списку немає взагалі. Кілька хвилин усередині години можна відмітити тільки для завантаження замовлень і для шаблонів завантаження — решті доступна одна хвилина на годину. А ось кілька годин, кілька днів тижня, кілька чисел місяця й кілька місяців відмічати можна.

Рядок розкладу створюється вимкненим у той момент, коли ви вперше відкрили це вікно. Правило в нього одразу підставляється — 17:10, з понеділка по пʼятницю, — і виглядає це так, ніби все вже налаштовано. Не налаштовано: поки галочка «Активність» знята, програма цей розклад не бачить узагалі.

Тепер про два поля з часом і поле Time zone. Вони стоять у вікні не для краси: «10:00» розуміється в часовому поясі користувача admin, а не в поясі того, хто заводить розклад, і не в поясі вашого браузера. Якщо в акаунті кілька людей у різних країнах, час треба звіряти саме з тим, що показане у вікні, а не з годинником на своєму компʼютері.

Шість перевірок, коли нічого не сталося

Порядок тут не випадковий: перевірки йдуть від найчастішої причини до найрідшої, і кожна наступна має сенс лише тоді, коли попередня пройдена.

Розклад мовчить: що перевірити

Перевірка перша — журнал. Порожньо за всю ніч — прогін або не починався, або почався й одразу вийшов, не лишивши сліду; обидва випадки розбираємо далі. Є рядок про відмову — прогін починався, і причина написана прямо в ньому; це наступний розділ. Чого порожній журнал точно не означає — що з програмою щось не так.

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

Перевірка третя — сутність і той, кому вона належить

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

  • джерело вимкнене. У списку прайс-листів воно видно, з пілюлею стану «Вимкнено»; вмикається пунктом «Увімкнути джерело» в меню рядка;
  • вимкнений контрагент, якому джерело належить. Тоді джерела в списку прайс-листів не видно взагалі — шукайте самого контрагента й галочку активності в його картці;
  • парсер джерела налаштований на стороні браузера, а не на нашому сервері. Такий парсер працює лише тоді, коли ви сидите у програмі, і ніякий розклад його не запустить;
  • джерело вже видалене, а розклад від нього лишився. Такий рядок нікому не заважає, але й не зробить нічого — і прибрати його з інтерфейсу зараз не можна.

У перших трьох випадках кнопка «Імпортувати» спрацює, а розклад — ні, і в журналі не буде нічого. Саме тому перевірка «а руками запускається?» цей випадок не ловить: руками він якраз запускається. Причин, через які розклад окремого прайс-листа не запуститься ніколи, чотири: джерело вже видалене, джерело вимкнене, вимкнений контрагент джерела або це браузерний парсер.

Вимкнене джерело прайс-листа та пункт «Увімкнути джерело» в меню
1Пілюля «Вимкнено»
2Пункт «Увімкнути джерело»
  1. Пілюля «Вимкнено» — у цьому стані розклад пропускає джерело мовчки.
  2. «Увімкнути джерело» — єдине місце, де джерело вмикається назад.

Вимкнений шаблон вивантаження розклад пропускає так само — про це докладно в статті про шаблони вивантаження.

Перевірка четверта — часовий пояс. Розібрана вище: звіряйте з полем Time zone у вікні розкладу. Якщо поле порожнє або пояс у ньому явно не той, у якому ви живете, — напишіть у підтримку: у двох акаунтах із наших сімдесяти двох вікно показує не той пояс, у якому програма насправді рахує час.

Перевірка пʼята — відмова через чужий прогін. Конфлікт завжди пишеться в журнал, тому шукати його треба саме там — рядком зі словами «конфлікт обробки даних». Якщо такого рядка немає, а прогонів усе одно немає, дивіться підрозділ про завислий замок: він мовчить так само, як вимкнена галочка.

Перевірка шоста — сама робота. Розклад нічого не лагодить: шаблон, який падає при ручному запуску, впаде й уночі, тільки дивитися на це буде нікому. Але зверніть увагу на зворотний бік: успішний ручний запуск не знімає підозри з перевірки третьої — кнопка на стан джерела й контрагента не дивиться, а розклад дивиться.

Є сьома причина, якої в інтерфейсі не видно взагалі: безкоштовний акаунт програма щохвилинним обходом не відвідує. Розклад при цьому заводиться, галочка ставиться — і не відбувається нічого. Те саме з деактивованим акаунтом, але його ви помітите: замість програми відкриється сторінка-заглушка. Якщо всі шість перевірок пройдені, а в журналі тижнями порожньо — це питання до підтримки, з інтерфейсу воно не вирішується.

Про парсинг сайтів окремо: він за розкладом виходить мовчки, якщо в акаунті вимкнено модуль парсингу сайтів. Ні рядка в журналі, ні повідомлення — просто нічого.

Два прогони одного роду одночасно не йдуть

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

У журналі це виглядає як один із чотирьох рядків, залежно від того, що саме не поїхало:

  • «Скасовано розвантаження за розкладом, причина - вивантажується інший шаблон (конфлікт обробки даних).»
  • «Скасовано завантаження прайс-листа за розкладом, причина - завантажується інший прайс-лист (конфлікт обробки даних).»
  • «Скасовано завантаження за розкладом, причина - завантажується інший шаблон (конфлікт обробки даних).»
  • «Скасовано завантаження за розкладом, причина - завантажується інший шаблон парсингу (конфлікт обробки даних).»

Є ще пʼятий рядок, і він про інше — не про два різні розклади, а про одне й те саме джерело:

«Завантаження цього джерела вже виконується (запущено о 03:00). Дочекайтеся завершення або зупиніть його кнопкою «Стоп».»

Означає він, що попередній прогін цього прайсу ще живий — або обірвався менш ніж пʼятнадцять хвилин тому. Розклад таке джерело не чіпає й чекає наступного збігу правила. Незавершений прогін видно на вкладці «Журнал» картки джерела.

Лікується це рознесенням розкладів у часі. Одна тонкість: розклад «Обробка прайс-листів», який бере всі джерела одразу, займає той самий замок, що й розклад окремого джерела. Тому «всі прайси о 2:00» і «один важкий прайс о 2:00» — це конфлікт, хоч налаштовані вони в різних місцях.

Коли замок завис

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

Пороги в них різні, бо різні підсистеми пишуть у журнал з різною частотою:

Через скільки знімається завислий замок
Що виконувалосяВід стартуТиша в журналі
будь-яке завдання60 хв30 хв
обробка прайс-листів30 хв
завантаження за шаблоном15 хв15 хв
парсинг сайту, фонова частина15 хв
парсинг сайту, фонова частина, яка не подала жодного сигналу10 хв
черга завдань10 хв10 хв
отримання пошти5 хв
індексація пошуку20 хв20 хв

Розклад парсингу має ті самі пороги, що й фонова частина роботи: якщо процес обірвався й перестав пінгувати, замок знімається за 10–15 хвилин, а не за годину.

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

Чекати годину не обовʼязково: замок знімає збереження форми розкладу, а вона зберігається при кожному закритті вікна. Тобто достатньо відкрити вікно розкладу й закрити його — міняти нічого не треба. Одна умова: відкрити треба розклад тієї самої сутності, чий прогін обірвався, бо знімається замок лише її рядка. Знайти її можна в журналі — за останнім прогоном, який почався й не завершився.

Не сплутайте з іншим сторожем. У прайс-листа є власна перевірка зависань, і працює вона зовсім інакше — не за розкладом, а в момент, коли ви відкриваєте вкладку «Журнал» картки джерела, і дивиться вона на прогони, старші за пʼятнадцять хвилин. Це різні механізми з різними порогами: журнал прайс-листа лікує свій статус «Триває», сторожі з цієї статті знімають замки розкладу.

Черга завдань

Коли операція надто довга для одного запиту, програма не намагається доробити її на місці, а створює завдання й показує рядок «Операція не завершена та додана до черги завдань (виконується у фоні)» з посиланням «Відкрити список черги завдань». Це не помилка й не збій — це нормальний хід для масової роботи.

Вікно «Черга завдань»
1Статус
2Кількість спроб
3Нижня сітка
  1. Статус — значення new, work, complete позначають етап завдання; перекладу в них немає.
  2. Кількість спроб — скільки разів система намагалася виконати завдання.
  3. Нижня сітка — елементи вибраного завдання, тобто реальна картина виконаної роботи.

Вікно «Черга завдань» складається з двох сіток одна під одною. Верхня — самі завдання; основні її колонки — «Тип», «Підтип», «Статус», «Дата додавання», «Дата запуску», «Дата завершення», «Час виконання», «Кількість спроб», «ID джерела», «Примітка». Нижня показує елементи того завдання, яке ви вибрали у верхній.

Статуси в обох сітках показані латиницею, як вони записані в базі: new — створено й ще не бралося, work — узято в роботу, complete — програма вважає завдання закінченим. Перекладу в них немає, і це не збій відображення.

Три речі про поведінку черги, які пояснюють більшість запитань:

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

Ще одна ситуація стосується завдань зі штучним інтелектом: масової генерації текстів, авто-збагачення, зіставлення через ШІ. На демо-акаунті й на акаунті без прописаного ключа API такі завдання знімаються цілком, з рядком у журналі. Створювати їх доведеться заново — після того, як ключ прописаний.

Елементи завдання: справжня картина

Завдання ділиться на елементи: один товар, одна категорія, один рядок. Їх у завданні можуть бути тисячі, і статус у кожного свій.

Елементи вибраного завдання в черзі
1Статус
2Кількість спроб
  1. Статус — тут видно, які елементи пройшли обробку успішно.
  2. Кількість спроб — скільки разів система намагалася обробити цей елемент.

Елемент, який не вклався у відведений час або вичерпав спроби, отримує статус zombie. Пороги залежать від типу роботи: десь це кілька хвилин, десь година; спроб буває від двох до пʼяти, а в найдовшої гілки лічильник спроб вимкнено зовсім. Здебільшого зомбі повертається в чергу й береться ще раз.

Завдання вважається завершеним, коли всі його елементи мають статус complete або zombie. Тобто елементи, які так і не пройшли, зараховуються обробленими, завдання доходить до complete і у верхній сітці виглядає успішним. Справжня картина — тільки в нижній сітці: відфільтруйте елементи за статусом zombie і повторіть операцію саме для них. Але коли таке трапляється, зверху цього не видно.

Значок кошика у верхньому тулбарі має підказку «Видалити все» — і слово «все» тут буквальне. Кнопка стирає чергу цілого акаунта: усі завдання й усі їхні елементи, незалежно від того, з яким фільтром відкрито вікно. А відкривають його майже завжди з фільтром — із картки шаблону, з вікна масової генерації. Підтвердження — звичайний діалог «Видалити все?», відкоту немає. Щоб прибрати одне завдання, користуйтеся кошиком у його рядку.

Де дивитися результат

Місце одне: «Кабінет» → «Журнал операцій». Туди пишуть і прогони за розкладом, і черга завдань.

Вікно «Журнал операцій» зі списком записів
1Тип операції
2Рядок фільтра
  1. Тип операції — тут шукають записи «Черга завдань», «Вивантаження даних», «Завантаження прайс-листа».
  2. Рядок фільтра над сіткою — дозволяє звузити список записів журналу.

Шукати треба за типом операції. Черга завдань іде під типом «Черга завдань», відмови розкладів — під типом тієї роботи, яка не поїхала: «Вивантаження даних», «Завантаження прайсу», «Завантаження даних», «Парсинг сайту».

У прайс-листа є ще й власний журнал прогонів — вкладка «Журнал» у картці джерела, з цифрами кожного завантаження й покроковим розбором останнього. Коли розклад спрацював, але результат вас не влаштував, дивитися треба саме туди: що привіз постачальник цього разу.

І окремий випадок, який до журналу не має стосунку. Прайс-лист для клієнтів — файл за посиланням — оновлюється тільки прогоном шаблону. Поки прогону не було, клієнт бачить те, що зібралося минулого разу. Якщо розклад у такого прайс-листа не ввімкнено, клієнт отримує файл з останнього ручного запуску.

Чого розклад не робить

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

Розбір частих проблем

Що видно, чому так і що робити
Що ви бачитеЧому такЩо зробити
У «Журналі операцій» за ніч жодного рядка Прогін не починався. Найчастіше — знята галочка «Активність»: рядок розкладу створюється вимкненим при першому відкритті вікна Пройти шість перевірок по порядку (перевірки)
«Скасовано розвантаження за розкладом, причина - вивантажується інший шаблон (конфлікт обробки даних).» У цей момент уже йшло інше вивантаження. Прогін пропущено до наступного збігу правила Рознести розклади шаблонів у часі (про конфлікти)
«Скасовано завантаження прайс-листа за розкладом, причина - завантажується інший прайс-лист (конфлікт обробки даних).» Ішов інший імпорт прайсів. Розклад «усі прайси» займає той самий замок, що й розклад одного джерела, а сам він додатково чекає ще й на парсинг сайту Рознести розклади джерел; перевірити, чи не стоїть на той самий час «Обробка прайс-листів» (про конфлікти)
«Скасовано завантаження за розкладом, причина - завантажується інший шаблон (конфлікт обробки даних).» Ішло інше завантаження за шаблоном Рознести розклади шаблонів завантаження (про конфлікти)
«Завантаження цього джерела вже виконується (запущено о 03:00). Дочекайтеся завершення або зупиніть його кнопкою «Стоп».» Прайс уже завантажувався в цей момент: попередній прогін ще живий або обірвався менш ніж пʼятнадцять хвилин тому Подивитися вкладку «Журнал» картки джерела — там видно незавершений прогін (про відмови)
Розклад увімкнено, руками джерело вантажиться, а вночі — жодного рядка в журналі Розклад пропускає джерело мовчки, якщо воно вимкнене, вимкнений його контрагент або парсер джерела налаштований на стороні браузера. Кнопка «Імпортувати» на це не дивиться Увімкнути джерело пунктом «Увімкнути джерело»; якщо джерела немає в списку — увімкнути контрагента (перевірка третя)
«Скасовано завантаження за розкладом, причина - завантажується інший шаблон парсингу (конфлікт обробки даних).» Ішов інший парсинг сайту Рознести розклади парсерів (про конфлікти)
Галочка «Активність» стоїть, а прогонів усе одно немає Правило може бути порожнім або зіпсованим — таке завдання програма мовчки пропускає, не повідомляючи нічого Відкрити вікно розкладу й перезібрати правило конструктором наново (про вікно розкладу)
У вікні розкладу немає кнопки «Зберегти» Форма зберігається сама, щойно ви щось змінили Просто закрити вікно; заразом перевірити, що не зачепили конструктор випадково (про вікно розкладу)
«Операція не завершена та додана до черги завдань (виконується у фоні)» Операція завелика для одного запиту — її підхопила Дочекатися; хід дивитися за посиланням «Відкрити список черги завдань» (про чергу)
Завдання має статус complete, а роботу зроблено не всю Частина елементів стала і зарахована обробленою Відкрити нижню сітку: там кожен показаний зі своїм статусом. Відфільтрувати zombie й повторити операцію для них (про елементи)
«Функції ШІ недоступні в демо-версії: вони використовують платні сторонні AI-сервіси та доступні лише на платній підписці.» Завдання черги з ШІ на демо-акаунті. Такі завдання знімаються цілком Перейти на платний тариф і створити завдання заново (про чергу)
«Немає доступу до ШІ: не налаштовано ключ API AI-сервісу.» Активного ключа AI-сервісу в акаунті немає Прописати ключ і створити завдання заново (про чергу)
«Видалити все?» Підтвердження кошика в «Черзі завдань». Верхній кошик стирає чергу всього акаунта, не дивлячись на фільтр вікна Відмовитися й видалити одне завдання кошиком у його рядку (про чергу)
«Помилка оновлень» Правка рядка прямо в сітці черги не збереглася Оновити вікно кнопкою «Оновити» й повторити
Замість вмісту «Черга завдань» показує відмову в доступі У групі користувача немає права на вікно «Черга завдань» Видати право в налаштуваннях груп (про доступ)
Розклад увімкнено тижнями, у журналі порожньо, усі перевірки пройдені Щохвилинний обхід не заходить на безкоштовні й деактивовані акаунти. З програми цю ознаку не видно Звернутися в підтримку (перевірки)

Хто має доступ

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

Обмеження є, але непряме: кнопка «Налаштування розкладу» живе всередині картки прайсу, шаблону або парсера, а ті закриті своїми правами. Хто не бачить картки джерела — не дістанеться й до його розкладу. У картці джерела прайсу картка «Розклад» додатково закрита правом на налаштування джерела.

З «Чергою завдань» інакше: у неї є право на вікно, воно перевіряється і видається в налаштуваннях груп там само, де решта вікон.

Прапорець модуля стосується парсингу сайтів, і гасить він дві речі: розклад самого парсера й обробку тих прайс-джерел, які тягне парсер на нашому сервері, — усередині звичайного розкладу «Обробка прайс-листа». В обох випадках мовчки. Завдання черги зі штучним інтелектом вимагають платного тарифу й прописаного ключа AI-сервісу.

Часті запитання

Де кнопка «Зберегти» у вікні розкладу?

Її там немає, і це зроблено навмисно: форма зберігається сама, щойно ви щось у ній змінили. Закрили вікно — зміни вже в базі. Зворотний бік у цього теж є: випадковий клік по конструктору правила теж зберігається, тому відкривати розклад «просто подивитися» варто обережно.

Галочку поставив, а прогонів немає. Що ще перевірити?

Три речі по порядку. Перше — чи ввімкнена сама сутність і той контрагент, якому вона належить: вимкнене джерело розклад пропускає мовчки, хоча кнопкою воно вантажиться. Друге — часовий пояс у полі Time zone вікна розкладу: саме в ньому розуміється вказаний час. Третє — чи немає в журналі за ту ніч рядка зі словами «конфлікт обробки даних»: тоді прогін збігся з чужим і був пропущений.

У якому часовому поясі розуміється «10:00»?

У поясі користувача admin, а не в поясі того, хто заводить розклад, і не в поясі браузера. Саме тому у вікні розкладу стоять два поля з поточним часом і поле Time zone — звіряти час треба з ними.

Чи можна поставити розклад частіше, ніж раз на годину?

Тільки для завантаження замовлень і для шаблонів завантаження — там у конструкторі можна відмітити кілька хвилин усередині години. Для всього іншого мінімальний крок — година, а періоду «кожну хвилину» в конструкторі немає взагалі. Це обмеження, а не поломка.

Два розклади збіглися за часом. Другий виконається пізніше?

Ні. Другий прогін не відкладається, а пропускається до наступного збігу правила, і в журнал іде рядок зі словами «конфлікт обробки даних». Розклад «щодня о 3:00», який спіткнувся об чужий прогін, наступної спроби зробить завтра о третій. Рознесіть важкі розклади в часі.

Завдання в черзі має статус complete, а роботу зроблено не всю. Чому?

Тому що завершеним вважається завдання, у якого всі елементи мають статус complete або zombie. Елемент стає зомбі, коли не вклався у відведений час або вичерпав спроби, — і зараховується обробленим. У верхній сітці таке завдання виглядає успішним, а справжня картина видно тільки в нижній: відфільтруйте елементи за статусом zombie і повторіть операцію для них.

Прогін завис, замок висить. Чекати годину?

Не обовʼязково. Відкрийте вікно розкладу тієї сутності, що застрягла, і змініть у ньому будь-що — хоч крапку в «Примітці». Форма збережеться сама, і замок зніметься разом зі збереженням. Якщо нічого не робити, завислий замок знімуть сторожі: найдовший поріг — година від старту прогону при півгодинній тиші в журналі.

Суміжні теми

Чи була стаття корисною?