Lewati ke konten utama

Cara Mengatasi Error 429 dan Rate Limit pada Meshy API

Rate Limit Meshy API: Mengatasi Error 429

Daftar isi

Jika integrasi Anda mengalami error 429, RateLimitExceeded, atau NoMoreConcurrentTasks saat memanggil Meshy API, panduan ini menjelaskan mengapa batasan-batasan ini ada dan bagaimana merancang integrasi Anda agar tetap berjalan dalam batasan tersebut.

Mengapa rate limit ada

API Meshy berada di depan komputasi GPU bersama yang digunakan untuk menghasilkan model 3D, tekstur, dan aset terkait. Rate limit dan batas konkurensi melindungi infrastruktur bersama tersebut agar kualitas hasil generasi dan waktu pengerjaan tetap konsisten bagi setiap pengguna di platform. Setiap akun, berdasarkan paketnya saat ini, memiliki jumlah maksimum permintaan yang dapat dibuat dalam rentang waktu tertentu dan jumlah maksimum tugas generasi yang dapat berjalan (dalam antrean atau sedang diproses) pada satu waktu.

Batas permintaan vs. batas antrean/konkurensi

Ada dua batasan yang berbeda, dan keduanya muncul dengan cara yang berbeda:

  • Batas laju permintaan (429 / RateLimitExceeded): ini membatasi berapa banyak panggilan API (misalnya pembuatan tugas, polling status) yang dapat Anda lakukan per menit. Melampauinya berarti Anda memanggil API terlalu sering, terlepas dari berapa banyak tugas yang benar-benar sedang berjalan.

  • Batas konkurensi/antrean (NoMoreConcurrentTasks): ini membatasi berapa banyak tugas generasi yang dapat Anda antrekan atau proses pada saat yang sama. Melampauinya berarti Anda sudah memiliki jumlah maksimum tugas aktif dan perlu menunggu salah satunya selesai sebelum mengirimkan tugas lain.

Periksa batas permintaan dan konkurensi terkini untuk paket Anda di dashboard Meshy, karena nilai-nilai ini dapat berbeda antar tingkatan paket.

Strategi backoff untuk error 429

Saat Anda menerima respons 429 atau RateLimitExceeded, jangan langsung mencoba ulang permintaan yang sama. Sebagai gantinya:

  • Gunakan exponential backoff: tunggu selang waktu singkat, lalu gandakan durasinya pada setiap kegagalan berikutnya, hingga batas maksimum yang wajar.

  • Tambahkan jitter (offset acak kecil) ke interval backoff Anda agar beberapa worker dalam sistem Anda tidak mencoba ulang pada saat yang bersamaan.

  • Hormati header Retry-After atau header rate-limit lainnya yang dikembalikan dalam respons, jika ada, alih-alih menebak sendiri waktu tunggunya.

  • Batasi jumlah percobaan ulang per permintaan agar kegagalan yang terus-menerus tidak berputar tanpa henti.

Perencanaan di sekitar batas konkurensi

Error NoMoreConcurrentTasks berarti Anda sudah mencapai batas atas tugas aktif akun Anda. Untuk menghindarinya di lingkungan produksi:

  • Pertahankan antrean lokal atau job scheduler di aplikasi Anda sendiri yang hanya mengirimkan tugas generasi baru setelah tugas sebelumnya selesai atau jumlah tugas aktif Anda turun di bawah batas.

  • Polling status tugas (atau gunakan webhook, jika didukung dalam alur kerja Anda) untuk mengetahui kapan slot tersedia, alih-alih mengirimkan tugas secara spekulatif.

  • Batch dan throttle pekerjaan generasi massal alih-alih menembakkan semua permintaan sekaligus — ini meratakan laju permintaan dan jumlah tugas konkuren Anda.

  • Bangun monitoring/alerting di sisi Anda agar lonjakan error 429/NoMoreConcurrentTasks terlihat sebelum memengaruhi pengguna Anda.

Mencoba ulang generasi yang gagal atau tidak memuaskan

Meshy API saat ini tidak mendukung "retry" bawaan untuk generasi yang sudah ada pada paket individual atau studio — jika hasilnya tidak sesuai harapan Anda, Anda mengirimkan permintaan generasi baru, yang mengonsumsi kredit seperti biasa. Ketika pipeline otomatis Anda menangani error sementara (seperti 429), pastikan logika retry Anda hanya mengirim ulang permintaan asli setelah backoff, bukan membuat tugas generasi duplikat setiap saat.

Kapan sebaiknya meningkatkan paket Anda

Jika Anda telah menerapkan backoff dan antrean yang memperhitungkan konkurensi namun masih terus-menerus mencapai batas laju atau konkurensi, itu biasanya pertanda bahwa kebutuhan throughput integrasi Anda telah melampaui batas paket Anda saat ini. Periksa dashboard Anda untuk melihat batas permintaan dan konkurensi paket Anda saat ini, dan pertimbangkan untuk meningkatkan paket atau menghubungi tim penjualan Meshy mengenai akses API tingkat enterprise jika Anda membutuhkan throughput yang lebih tinggi secara berkelanjutan.

FAQ

1. Apa arti error 429 atau RateLimitExceeded?

Artinya Anda telah melampaui jumlah permintaan API yang diizinkan dalam rentang waktu tertentu untuk paket Anda. Perlambat laju permintaan Anda dan gunakan exponential backoff sebelum mencoba ulang.

2. Apa arti NoMoreConcurrentTasks?

Artinya Anda sudah memiliki jumlah maksimum tugas generasi yang dalam antrean atau sedang berjalan untuk akun Anda. Tunggu tugas yang ada selesai, atau kurangi jumlah tugas yang Anda kirimkan sekaligus, sebelum mengirimkan lebih banyak.

3. Bagaimana cara mengetahui batas laju dan konkurensi akun saya?

Periksa dashboard Meshy Anda untuk melihat batas-batas yang terkait dengan paket Anda saat ini, karena nilai-nilai ini dapat berbeda antar tingkatan paket.

4. Apakah Meshy mendukung retry otomatis untuk tugas generasi?

Tidak, tidak untuk paket individual atau studio — generasi yang gagal atau tidak memuaskan harus dikirim ulang sebagai permintaan baru, yang menggunakan kredit seperti biasa. Pelanggan enterprise dapat menghubungi tim penjualan mengenai fitur retry.

5. Apa cara terbaik untuk menghindari error-error ini dalam pipeline produksi?

Terapkan antrean lokal yang membatasi pengiriman agar tetap di bawah batas konkurensi Anda, tambahkan exponential backoff dengan jitter untuk respons 429 apa pun, dan pantau tingkat error agar Anda dapat bereaksi sebelum berdampak pada pengguna Anda.

6. Kapan saya sebaiknya meningkatkan paket karena batas laju?

Jika Anda sudah menerapkan backoff dan antrean yang memperhitungkan konkurensi namun masih sering mencapai batas-batas ini, kemungkinan penggunaan Anda telah melampaui paket Anda saat ini — periksa dashboard Anda atau hubungi tim penjualan mengenai paket dengan throughput lebih tinggi.


Artikel Terkait

Apakah ini menjawab pertanyaan Anda?