Перейти до основного вмісту

Як усунути помилки 429 та обмеження частоти запитів у Meshy API

Обмеження частоти запитів у Meshy API: усунення помилок 429

Зміст

Якщо ваша інтеграція стикається з помилками 429, RateLimitExceeded або NoMoreConcurrentTasks під час викликів Meshy API, цей посібник пояснює, чому існують ці обмеження та як спроєктувати інтеграцію так, щоб вона працювала в їхніх межах.

Чому існують обмеження частоти запитів

API Meshy працює на спільних обчислювальних потужностях GPU, які використовуються для створення 3D-моделей, текстур та пов'язаних ресурсів. Обмеження частоти запитів і ліміти паралельного виконання захищають цю спільну інфраструктуру, щоб якість генерації та час виконання залишалися стабільними для кожного користувача платформи. Кожен акаунт, залежно від свого поточного плану, має максимальну кількість запитів, яку можна зробити за заданий проміжок часу, та максимальну кількість завдань генерації, які можуть одночасно перебувати в черзі або виконуватися.

Ліміт запитів проти ліміту черги/паралельного виконання

Існує два різні типи обмежень, і вони спрацьовують по-різному:

  • Ліміт частоти запитів (429 / RateLimitExceeded): обмежує кількість викликів API (наприклад, створення завдань, опитування статусу) на хвилину. Його перевищення означає, що ви надто часто звертаєтеся до API, незалежно від того, скільки завдань фактично виконується.

  • Ліміт паралельного виконання / черги (NoMoreConcurrentTasks): обмежує кількість завдань генерації, які можуть одночасно перебувати в черзі або оброблятися. Його перевищення означає, що у вас вже є максимальна кількість активних завдань, і потрібно дочекатися завершення одного з них, перш ніж надсилати нове.

Поточні ліміти запитів і паралельного виконання для вашого плану можна перевірити на панелі керування Meshy, оскільки вони можуть відрізнятися залежно від рівня плану.

Стратегія експоненційної затримки для помилок 429

Коли ви отримуєте відповідь 429 або RateLimitExceeded, не повторюйте той самий запит одразу. Натомість:

  • Використовуйте експоненційну затримку (exponential backoff): зачекайте короткий інтервал, а потім подвоюйте його після кожної наступної невдачі, до розумного максимуму.

  • Додавайте джиттер (небезпечний випадковий зсув) до інтервалу затримки, щоб кілька воркерів у вашій системі не повторювали запити в один і той самий момент.

  • Поважайте заголовки Retry-After або заголовки обмеження частоти запитів у відповіді, якщо вони є, замість того, щоб вгадувати час очікування.

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

Планування з урахуванням лімітів паралельного виконання

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

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

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

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

  • Впровадьте моніторинг/сповіщення на своєму боці, щоб сплеск помилок 429/NoMoreConcurrentTasks було помітно до того, як він вплине на ваших користувачів.

Повторення невдалих або незадовільних генерацій

Meshy API наразі не підтримує вбудовану функцію «повтору» наявної генерації для планів Individual або Studio — якщо результат не відповідає вашим очікуванням, ви надсилаєте новий запит на генерацію, який витрачає кредити як зазвичай. Коли ваш автоматизований конвеєр обробляє тимчасові помилки (наприклад, 429), переконайтеся, що логіка повтору лише повторно надсилає початковий запит після затримки, а не створює дублікати завдань генерації щоразу.

Коли варто розглянути оновлення плану

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

FAQ

1. Що означає помилка 429 або RateLimitExceeded?

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

2. Що означає NoMoreConcurrentTasks?

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

3. Як дізнатися ліміти частоти запитів і паралельного виконання мого акаунта?

Перевірте панель керування Meshy, щоб побачити ліміти, пов'язані з вашим поточним планом, оскільки вони можуть відрізнятися між рівнями планів.

4. Чи підтримує Meshy автоматичні повтори для завдань генерації?

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

5. Як найкраще уникнути цих помилок у робочому конвеєрі?

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

6. Коли мені варто оновити план через обмеження частоти запитів?

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


Пов’язані статті

Це відповідає на ваше запитання?