> ## Documentation Index
> Fetch the complete documentation index at: https://help.teable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Черга обчислень

> Відстежуйте доставлення BullMQ і чергу невиконаних обчислювальних завдань на Панелі адміністратора.

<Tip>Доступно для самостійно розгорнутого тарифного плану Business та вище</Tip>

Шлях: Панель адміністратора → Черга обчислень

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

## Перегляд стану працездатності

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

| Стан           | Значення                                                                                                |
| -------------- | ------------------------------------------------------------------------------------------------------- |
| **Справний**   | Обчислювальні завдання виконуються нормально.                                                           |
| **Погіршений** | Teable виявив помилки, завдання з перевищеним часом очікування або зростання черги невиконаних завдань. |
| **Критичний**  | BullMQ недоступний або немає виконавця для опрацювання завдань.                                         |

Якщо стан потребує уваги, на сторінці наводиться причина.

## Пошук завдання в черзі

У розділі **Активна черга BullMQ** перелічено завдання, які ще зберігає Teable, щоб ви могли відстежити певне обчислювальне завдання або знайти повільні.

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

Щоб звузити список:

* Натискайте плитки станів над Таблицею, щоб фільтрувати за станом: **Очікує**, **Активне**, **Відкладене**, **Невдале**, **Завершене (збережене)** тощо. Можна вибрати кілька плиток одночасно, а наведення на плитку показує пояснення відповідного стану.
* Фільтруйте за **Простором**, **Базою**, **Причиною** або **Результатом**, шукайте завдання, Базу, Простір чи помилку або задайте мінімальний час опрацювання, щоб знайти повільні завдання.
* Натисніть рядок, щоб відкрити **Ланцюжок обчислень**: часові позначки черги, затримку доставлення, час опрацювання, повну причину помилки з відредагованим SQL для невдалого доставлення та опис поширення, наведений нижче.

<Info>Стан **Завершене** не означає, що завдання виконало роботу. Позначка результату показує фактичну дію доставлення: **Опрацьовано** — завдання виконано, **Без змін** — нічого не залишилося робити, **Відкладено** — виконання переплановано на пізніший час, а **Припарковано** означає, що його область призупинено. Фільтр **Результат** звужує список за цим результатом і показує кількість доставлень для кожного з них. Таким чином, поєднання **Завершене (збережене)** з **Опрацьовано** залишає лише доставлення, які справді виконали завдання.</Info>

Невдалий рядок — це історія однієї спроби доставлення, а не зависле завдання. Стійке завдання автоматично повторюється, тому для визначення необхідності дій перевірте стовпець **Стан реєстру**: **Урегульовано** означає, що пізніша повторна спроба вже була успішною, а **Черга нерозв’язаних помилок** веде до обслуговування аномалій. Урегульовані помилки за замовчуванням приховано; банер показує їх кількість і дає змогу відобразити їх.

Команда **Очистити історію помилок** видаляє з черги лише збережені записи невдалих завдань. Вона нічого не виправляє, а елементи черги нерозв’язаних помилок залишаються в розділі **Обслуговування аномалій**.

Плитка стану також може враховувати елементи, дані завдань яких більше не існують у Redis, зазвичай через витіснення або втрату даних. Список не може їх показати, тому розбіжність пояснюється під Таблицею. Teable автоматично видаляє такі залишки з невдалого стану; команда **Очистити історію помилок** видаляє їх негайно.

## Відстеження поширення значення

Якщо обчислене значення виглядає неправильним або надійшло із запізненням, відкрийте **Ланцюжок обчислень**, щоб побачити весь пов’язаний ланцюжок. Натисніть будь-який рядок черги або **Ланцюжок** поруч з ідентифікатором завдання у відомостях про аномалію.

| Розділ               | На яке запитання відповідає                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Зведення             | Загальна затримка, час зміни джерела й узгодження значення, а також Таблиця та Поля, що ініціювали запуск. Позначка **Обчислення** означає, що ланцюжок іще виконується.                                                                                                                                                                                                                                                                                                                                                                            |
| **Часова шкала**     | Коли запуск було додано до черги, розпочато та завершено або коли він завершився помилкою.                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **Ланцюжок завдань** | Кожне завдання в каскаді, вкладене під завданням, яке додало його до черги, щоб було видно джерело кожної гілки. У кожному рядку відображається стан, кроки плану, **Ціль запису** (Таблиця й Поля, які оновлює завдання), **Змінені рядки**, глибина каскаду, час додавання до черги й тривалість.                                                                                                                                                                                                                                                 |
| **Поширення Полів**  | Які Поля прочитав і записав запуск та як зміна поширювалася між ними. Синій пунктир позначає джерело, що призвело до цього запису; сірий — вхідне значення, яке не було записано під час цього запуску; зелений — значення, записане під час цього запуску; стрілки показують залежності Полів або переходи за зв’язками, а не порядок кроків. Відображаються лише джерела, які справді досягають операцій запису цього запуску. Натисніть **Розгорнути**, щоб відкрити графік на весь екран, якщо широкий ланцюжок складно переглядати вбудованим. |

<Info>Реєстр ланцюжків записує лише завдання, створені після появи цієї функції, і зберігає історію протягом 7 днів. Для старішого завдання відображаються відомості черги без графіка поширення. Для початкового завдання, яке виконавець іще не спланував, показано лише Поля-тригери. Якщо зміна не спричинила подальших операцій запису обчислених значень, графік повідомляє про це: жодне значення не залежало від цих Полів через формулу, пошук, агрегацію або назву зв’язку.</Info>

## Обробка аномальних завдань

<Info>Лічильник **Невдалі** та розділ **Обслуговування аномалій** показують різні типи проблем, тому їхні значення можуть відрізнятися.</Info>

Розділ **Обслуговування аномалій** об’єднує аномалії в групи проблем — по одній для кожної Бази, вихідної Таблиці та помилки, — щоб першопричину було легко знайти. Перш ніж щось відновлювати, перегляньте причину помилки й усуньте основну проблему. Розгорніть групу, щоб прочитати відомості про помилку й охоплені нею завдання; ці рядки призначені для перевірки, а відновлення завжди виконується для всієї групи.

Доступні дії залежать від типу групи:

| Тип аномалії                    | Дія                                                                     | Результат                                                                                                                                                                                            |
| ------------------------------- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Черга нерозв’язаних помилок** | **Відновити всю групу**                                                 | Повертає всі поточні елементи черги нерозв’язаних помилок із цієї групи до стійкої черги й повторно доставляє їх. Інші групи не змінюються.                                                          |
| **Черга нерозв’язаних помилок** | **Відхилити групу** (у меню **Більше дій**)                             | Безповоротно видаляє елементи черги нерозв’язаних помилок із цієї групи. Надалі їх неможливо відновити або повторно виконати, тому використовуйте цю дію, лише якщо повторне виконання не має сенсу. |
| **Час очікування вичерпано**    | **Повторно активувати останнє завдання з перевищеним часом очікування** | Активує чергу для найновішого завдання в групі, щоб виконавець міг його перебрати.                                                                                                                   |

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

Група з позначкою **Базу видалено** належить Базі, якої більше не існує. Її відновлення відразу знову завершиться помилкою, тому доступна лише дія **Відхилити групу**.

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

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

## Призупинення обчислювальних завдань для Простору

Якщо обчислювальні завдання одного Простору погіршують інцидент, призупиніть цей Простір у розділі **Призупинення обчислювальних завдань**, а не зупиняйте весь екземпляр.

<Steps>
  <Step title="Відкрийте діалогове вікно призупинення">Натисніть **Призупинити Простір**.</Step>
  <Step title="Знайдіть Простір">Виконайте пошук за ідентифікатором або назвою Простору, а потім виберіть його в результатах.</Step>
  <Step title="Виберіть тривалість">Установіть для параметра **Тривалість призупинення** значення 15, 30, 60 або 120 хвилин.</Step>
  <Step title="Укажіть причину (необов’язково)">Занотуйте інцидент або вікно технічного обслуговування в полі **Причина**.</Step>
  <Step title="Підтвердьте">Натисніть **Підтвердити призупинення**.</Step>
</Steps>

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

Призупинення завжди завершується автоматично, а максимальна доступна тривалість становить дві години. Якщо інцидент триває довше, призупиніть Простір іще раз на цій сторінці. У списку показано всі активні призупинення, їхніх авторів, причини й час автоматичного відновлення, а також кількість завдань, які вони утримують. Це дає змогу оцінити чергу, що буде звільнена після відновлення. Щоб скасувати призупинення достроково, натисніть **Відновити** у відповідному рядку й підтвердьте дію.

## Налаштування паралельного виконання

У розділі черги є два елементи керування паралельним виконанням. Кожен записує перевизначення для всього кластера, яке всі процеси отримують приблизно протягом 15 секунд без перезапуску. Кожне перевизначення можна скинути, щоб процеси повернулися до власних налаштувань середовища. Позначка **Перевизначено** показує елемент керування, для якого більше не використовується стандартне значення.

| Елемент керування                    | Що він обмежує                                                                                                                                                                                                                     |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Паралельне виконання для процесу** | Кількість обчислювальних завдань, які кожен робочий процес опрацьовує одночасно.                                                                                                                                                   |
| **Обмеження отримання для Бази**     | Кількість обчислювальних завдань, що одночасно виконуються для однієї Бази (**Для Бази**) і однієї вихідної Таблиці в ній (**Для початкової Таблиці**). Обидва стандартні значення дорівнюють 2; допустимі значення — від 1 до 16. |

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

<Warning>Вища паралельність збільшує навантаження на базу даних. Простори, які зберігають дані в [тенанті бази даних](/uk/basic/admin-panel/database-tenant), продовжують використовувати стандартні налаштування середовища для обмежень отримання, оскільки їхні пули підключень розраховано на ці значення.</Warning>
