BaşlayınÜcretsiz başlayın

Hız sınırlayıcıyı uygulama

Kullanıcıların metinleri duygu analizi için inceleyebildiği bir duygu analizi API'si geliştiriyorsun. Kötüye kullanımı önlemek için, her API anahtarı başına dakikada yalnızca 5 isteğe izin veren bir hız sınırı uygulaman gerekiyor. RateLimiter sınıfı zaten oluşturuldu ve senin RateLimiter sınıfı içinde, 1 dakikalık zaman penceresi içinde yapılan istek sayısını kontrol eden is_rate_limited yöntemini eklemen gerekiyor.

datetime kütüphanesindeki datetime ve timedelta sınıfları önceden içe aktarıldı.

Bu egzersiz, kursun bir parçasıdır

FastAPI ile Üretime AI Dağıtımı

Kursa Göz Atın

Egzersiz talimatları

  • Geçerli zamanı al ve bir dakika öncesinin zaman damgasını hesapla.
  • İstek listesini filtreleyerek yalnızca son bir dakika içindeki zaman damgalarını tut.
  • Son istek sayısının sınırı aşıp aşmadığını kontrol et.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

def is_rate_limited(self, api_key: str) -> bool:
    # Get current time and the timestamp for one minute ago
    now = _____
    minute_ago = now - _____(minutes=1)
    
    # Remove requests older than 1 minute
    self.requests[api_key] = [
        req_time for req_time in self.requests[api_key]
        if req_time > _____]
    
    # Check if no. of requests exceeded the set limit
    if len(self.requests[api_key]) ____ self.requests_per_minute:
        return True
    self.requests[api_key].append(now)
    return False
Kodu Düzenle ve Çalıştır