n8n Workflow'unda Rate Limit (Hız Sınırı) Hatası Neden Oluşur?
n8n gibi güçlü bir otomasyon aracıyla çalışırken karşılaşılan en sinir bozucu hatalardan biri, bir API'den gelen "rate limit exceeded" (hız sınırı aşıldı) mesajıdır. Bu hata, genellikle bir API'ye çok kısa sürede çok fazla istek gönderildiğinde ortaya çıkar. Ancak çoğu zaman sorun, n8n workflow'unuzun yapılandırmasından kaynaklanır. Bu yazıda, rate limit hatalarının yaygın nedenlerini ve n8n'de bunları nasıl çözebileceğinizi somut örneklerle anlatıyoruz.
Rate Limit Hatasının Temel Sebebi: Aşırı İstek Trafiği
Her API'nin belirli bir zaman diliminde kabul edebileceği maksimum istek sayısı vardır. Örneğin, bir API dakikada 100 isteğe izin veriyorsa, bu sınırı aştığınızda sunucu sizi geçici olarak bloke eder. n8n workflow'ları genellikle döngüler veya batch işlemler içerdiğinden, farkında olmadan sınırı aşabilirsiniz.
Yaygın Hatalar ve Doğru Çözümler
1. Hiç Bekleme Eklememek
Neden yanlış: API çağrıları arasında hiç gecikme koymazsanız, n8n istekleri arka arkaya gönderir ve hız sınırını anında aşar. Örneğin, 100 öğeyi işleyen bir döngüde API'yi her saniyede 10 kez çağırıyorsanız, 10 saniyede sınıra ulaşırsınız.
Doğrusu: Her istek arasına bir Wait node'u ekleyerek belirli bir süre (örneğin 1 saniye) bekleyin. Alternatif olarak, n8n'deki "Rate Limit" node'unu kullanarak istek başına minimum bir aralık belirleyin.
2. Hata Kontrolü ve Yeniden Deneme (Retry) Yapılandırmamak
Neden yanlış: Rate limit hatası alındığında workflow genellikle durur ve hata log'a yazılır. Ancak bu durumu otomatik olarak yönetmezseniz, işlem tamamlanamaz.
Doğrusu: n8n'de HTTP istek node'larına yeniden deneme (retry) ayarları ekleyin. Bu ayarda "retry on fail" seçeneğini aktifleştirin ve uygun aralıklarla (örneğin 30 saniye) tekrar deneyin. Çoğu API, retry sonrası başarılı olur.
3. Batch (Toplu) İşlemi Tek Seferde Yapmak
Neden yanlış: Verileri küçük gruplara ayırmak yerine hepsini tek bir döngüde işlemek, aynı anda çok sayıda istek göndermenize yol açar.
Doğrusu: Verileri 10-20'li gruplara bölün ve her grup arasında bekleme ekleyin. n8n'deki SplitInBatches node'u bu iş için idealdir. Ayrıca işlemleri manuel olarak kuyruğa alabilirsiniz.
4. API Şartlarını Göz Ardı Etmek
Neden yanlış: Her API'nin rate limit politikası farklıdır (örneğin dakikada 100 istek, saatte 1000 istek). Bu limitleri bilmeden ve hesaba katmadan workflow tasarlamak hataya yol açar.
Doğrusu: Kullandığınız API'nin dokümantasyonundaki rate limit bilgilerini mutlaka okuyun. n8n workflow'unu bu limitlere göre tasarlayın. Örneğin, limit 100 istek/dakika ise her dakika başına en fazla 100 çağrı yapacak şekilde bekleme sürelerini ayarlayın.
5. n8n'in Kendi Sunucu Kısıtlamalarını Unutmak
Neden yanlış: n8n self-hosted bir ortamda çalışıyorsa, aynı anda çok fazla workflow çalıştırmak kendi sunucunuzda da rate limit benzeri darboğazlar yaratabilir.
Doğrusu: n8n yapılandırmasında eşzamanlı workflow sayısını sınırlayın. Ayrıca, bir workflow'u dengeli bir şekilde dağıtmak için batch işlemleri zamanlayıcı (cron) ile planlayın.
n8n'de Rate Limit İçin En Etkili Çözüm: Kuyruklama ve Bekleme
Hepsinden önemlisi, n8n workflow'unuzda bir kuyruk sistemi oluşturmak, rate limit hatalarını neredeyse tamamen ortadan kaldırabilir. Bunu yapmak için:
- Adım 1: Tüm istekleri bir
List(veyaArray) içinde toplayın. - Adım 2:
Waitnode'u ile her istek arasına eşit zaman aralığı koyun (örneğin 1.2 saniye). - Adım 3:
Loop Over Itemsnode'u ile sırayla işleyin ve her adımda yeniden deneme mekanizması ekleyin.
Bu yaklaşım, API'nin sınırlarına takılmadan tüm verileri güvenle işlemenizi sağlar. Ayrıca hata durumunda otomatik olarak yeniden dener ve işlemi tamamlar.
Sonuç olarak, n8n ile rate limit hatasıyla karşılaştığınızda panik yapmayın. Sorunu çözmek için yukarıdaki yöntemleri adım adım uygulayın. Unutmayın: Doğru bekleme ve kuyruklama stratejisi, hem API'nin kurallarına uymak hem de iş akışınızın sorunsuz çalışması için kritiktir.
Sık Sorulan Sorular
n8n'de rate limit hatası aldığımda ilk ne yapmalıyım?
Öncelikle işlemi durdurun ve API'nin dokümantasyonundaki limitleri kontrol edin. Ardından workflow'unuzdaki döngülere ve istek sıklığına müdahale edin.
n8n'in 'SplitInBatches' node'u rate limit için yeterli midir?
Evet, ancak yeterli değildir; batch aralarına da <code>Wait</code> node'u eklemezseniz yine sınırı aşabilirsiniz. Batch boyutunu API limitine göre ayarlayın.
Her API çağrısı arasında ne kadar beklemeliyim?
Bu, API'nin dakikalık limitine bağlıdır. Örneğin dakikada 60 istek varsa, her istek arasında en az 1 saniye beklemelisiniz. Hesaplama: 60 saniye / limit = aralık.
Rate limit hatası alırsam workflow otomatik olarak devam edebilir mi?
Evet, n8n'in HTTP node'larına yeniden deneme (retry) özelliği ekleyerek hata alındığında belirli aralıklarla tekrar denemesini sağlayabilirsiniz.
Kliniğiniz için Buyo'yu deneyin
WhatsApp, telefon ve web sitenizde 7/24 çalışan AI randevu asistanı. Tek seferlik kurulum + işletmenize özel aylık abonelik, taahhüt yok.