# Eşzamanlı görev sınırı ve otomatik duraklatma

> YesCaptcha eşzamanlı görev sınırı (ERROR_THREADS_MAXIMUM, puan düşülmez, duraklatmaya sayılmaz), çok fazla hata olduğunda otomatik duraklatma (bir dakikada 100 hata 5 dakika duraklatır, ERROR_IP_BLOCKED_5MIN) ve geçersiz parametre önbelleği (cached).

Source: https://docs.yescaptcha.com/tr/api/rate-limits/ · Last verified: 2026-10-15

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/api/rate-limits/

Tüm kullanıcılar için tanıma hızını korumak amacıyla YesCaptcha’da üç koruma kuralı vardır: hesap başına **aynı anda işlenen görev sayısı** sınırlanır (eşzamanlı görev sınırı); kısa sürede **çok fazla hata** üreten bir `clientKey` birkaç dakika **duraklatılır** (otomatik duraklatma); **geçersiz olduğu belirlenmiş parametreler** için bir süre boyunca aynı hata doğrudan döndürülür (geçersiz parametre önbelleği). Bu üç durumda da puan düşülmez.

## Eşzamanlı görev sınırı

Aynı anda işlenen görev sayısını hesap ve görev türü bazında sınırlıyoruz. Sınırlanan şey eşzamanlı görev sayısıdır, dakikadaki istek sayısı değildir.

-   Bir görev, `createTask` çağrısını yaptığınız andan bu çağrı dönene kadar “işleniyor” sayılır. Görsel tanıma türleri sonucu doğrudan `createTask` içinde döndürdüğü için **eşzamanlı görev sayısı ≈ saniyede gönderilen görev sayısı × görev başına süre**. Örneğin görev başına 0.5 saniye ve saniyede 40 görev gönderildiğinde eşzamanlı görev sayısı yaklaşık 20 olur.
-   Aynı hesaptaki istekler birlikte hesaplanır; her görev türü kendi başına hesaplanır.
-   Limiti aşan istekler hemen `ERROR_THREADS_MAXIMUM` döndürür; yanıttaki `limit` mevcut üst sınırınızdır. **Puan düşülmez ve otomatik duraklatmaya sayılmaz.**
-   Tanıma sunucuları yoğun olduğunda, en çok tanıma süresi kullanan hesabın o görev türündeki sınırı **geçici olarak yarıya düşer ve 10 dakika sonra otomatik olarak eski haline döner**. Bu yalnızca hız sınırlamasıdır, hesap duraklatılmaz.
-   Daha yüksek bir limit gerekiyorsa [Destek ile iletişime geçin](https://docs.yescaptcha.com/tr/help/contact.md). Her türün varsayılan limiti belirlendiğinde bu sayfada ve [Hizmet güncellemeleri](https://docs.yescaptcha.com/tr/changelog.md) sayfasında duyurulacaktır.

```json
{
  "errorId": 1,
  "errorCode": "ERROR_THREADS_MAXIMUM",
  "errorDescription": "This account already has 30 tasks of this type in progress, which is the limit. Lower the concurrency and wait for pending requests to return before sending more; rejected requests are not charged and do not lead to a block.",
  "limit": 30
}
```

(Örnekteki sayı yalnızca örnek amaçlıdır.)

### Önerilen yöntem

1.  Yalnızca saniyedeki gönderimi sınırlamak yerine, programınızda “aynı anda sonuç bekleyen istek sayısını” sınırlayın; örneğin semafor (Semaphore) veya sabit boyutlu bir thread havuzu kullanın.
2.  `ERROR_THREADS_MAXIMUM` aldığınızda, gönderilmiş isteklerin dönmesini bekleyip yeni istek gönderin ya da 1-2 saniye bekleyip tekrar deneyin; döngüyle hemen yeniden denemeyin.
3.  Toplu görevleri düzenli aralıklarla gönderin; binlerce görevi aynı anda göndermeyin.

Python (asyncio) örneği:

```python
import asyncio
import os

import aiohttp

CLIENT_KEY = os.environ["YESCAPTCHA_CLIENT_KEY"]
LIMIT = 15  # below your concurrency limit
sem = asyncio.Semaphore(LIMIT)

async def solve(session, task):
    async with sem:  # at most LIMIT requests in progress at a time
        result = {}
        for attempt in range(5):
            async with session.post(
                "https://api.yescaptcha.com/createTask",
                json={"clientKey": CLIENT_KEY, "task": task},
            ) as resp:
                result = await resp.json()
            if result.get("errorCode") != "ERROR_THREADS_MAXIMUM":
                return result
            await asyncio.sleep(1 + attempt)  # over the limit: wait and retry
        return result
```

## Otomatik duraklatma

Aynı `clientKey` kısa sürede çok sayıda hatalı istek ürettiğinde görev oluşturması otomatik olarak duraklatılır:

| Tetikleyici | Duraklatma süresi |
| --- | --- |
| Aynı takvim dakikası içinde aşağıda listelenen hatalardan toplam 100 tane | 5 dakika |
| `ERROR_IMAGE_TYPE_NOT_SUPPORTED` hatasının 1 kez görülmesi | 30 dakika |
| Aynı takvim dakikası içinde “geçersiz parametre önbelleği”ne 1,000 kez takılma | 5 dakika |

Duraklatmaya sayılan hatalar:

-   [`ERROR_REQUEST_FORMATS`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_REQUEST_FORMATS)
-   [`ERROR_TASK_ABSENT`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_TASK_ABSENT)
-   [`ERROR_TASK_NOT_SUPPORTED`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_TASK_NOT_SUPPORTED)
-   [`ERROR_KEY_DOES_NOT_EXIST`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_KEY_DOES_NOT_EXIST)
-   [`ERROR_KEY_EXPIRED`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_KEY_EXPIRED)
-   [`ERROR_TASKID_INVALID`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_TASKID_INVALID)
-   [`ERROR_SETTLEMENT_FAILED`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_SETTLEMENT_FAILED)
-   [`ERROR_HIGH_DEMAND_DOMAIN`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_HIGH_DEMAND_DOMAIN)
-   [`ERROR_ZERO_CAPTCHA_FILESIZE`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_ZERO_CAPTCHA_FILESIZE)
-   [`ERROR_TOO_BIG_CAPTCHA_FILESIZE`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_TOO_BIG_CAPTCHA_FILESIZE)
-   [`ERROR_IMAGE_TYPE_NOT_SUPPORTED`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_IMAGE_TYPE_NOT_SUPPORTED)
-   [`ERROR_ILLEGAL_IMAGE`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_ILLEGAL_IMAGE)

Hesabın eşzamanlı görev sınırı aşıldığında dönen `ERROR_THREADS_MAXIMUM` (`limit` alanıyla birlikte) sayılmaz; tanıma hizmeti yoğun olduğunda dönen aynı adlı hata (`limit` alanı olmadan) sayılır. Tanıma hatası (`ERROR_CAPTCHA_UNSOLVABLE`), yetersiz bakiye (`ERROR_ZERO_BALANCE`), eksik alan (`ERROR_REQUIRED_FIELDS`), desteklenmeyen soru (`ERROR_UNKNOWN_QUESTION`) gibi hatalar sayılmaz.

Duraklatma sırasında:

-   Yalnızca `createTask` ve `getBalance` etkilenir ve `ERROR_IP_BLOCKED_5MIN` döndürür. `getTaskResult` etkilenmez; duraklatmadan önce oluşturulan görevlerin sonuçları normal şekilde sorgulanabilir.
-   Yanıtta `retryAfter` (kalan saniye), `blockReason` (duraklatmayı tetikleyen hata kodu) ve `blockDetail` (o isteklerin türü, URL’si, sitekey değeri) bulunur; programınızı bunlara göre düzeltin.
-   İstek göndermeye devam etmek duraklatma süresini uzatmaz. Süre dolunca otomatik olarak kaldırılır, Destek ile iletişime geçmeniz gerekmez.
-   [yescaptcha.com](https://yescaptcha.com/) Panel’indeki genel bakış sayfasında son 24 saatteki duraklatma kayıtlarını görebilirsiniz.

```json
{
  "errorId": 1,
  "errorCode": "ERROR_IP_BLOCKED_5MIN",
  "errorDescription": "...",
  "retryAfter": 182,
  "blockReason": "ERROR_TASK_NOT_SUPPORTED"
}
```

## Geçersiz parametre önbelleği

Bazı hatalar istek parametrelerinden kaynaklanır ve aynı parametrelerle yeniden göndermek sonucu değiştirmez:

-   [`ERROR_RECAPTCHA_INVALID_SITEKEY`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_RECAPTCHA_INVALID_SITEKEY)
-   [`ERROR_RECAPTCHA_INVALID_DOMAIN`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_RECAPTCHA_INVALID_DOMAIN)
-   [`ERROR_INVALID_KEY_TYPE`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_INVALID_KEY_TYPE)
-   [`ERROR_DOMAIN_NOT_ALLOWED`](https://docs.yescaptcha.com/tr/api/errors.md#ERROR_DOMAIN_NOT_ALLOWED)

Bu hatalar otomatik duraklatmaya sayılmaz; bunun yerine tüm sitede önbelleğe alınır: ilk tespitten sonra 2 dakika, 1 saat içinde tekrar doğrulanırsa 10 dakika boyunca. Önbellek süresi içinde aynı istekler (aynı görev türü ve `websiteKey`, ya da aynı site alan adı) doğrudan asıl hatayı döndürür, puan düşülmez ve yanıtta `"cached": true`, `retryAfter` (önbellekte kalan saniye) ile `badRequest` (eşleşen parametreler) bulunur. `websiteKey` değerini düzeltmek veya görev türünü değiştirmek hemen etkili olur.

## Eşzamanlı görev sınırı ile otomatik duraklatma arasındaki fark

|  | Eşzamanlı görev sınırı | Otomatik duraklatma |
| --- | --- | --- |
| Neden | Aynı anda işlenen görev çok fazla | Kısa sürede çok fazla hatalı istek |
| Sonuç | Yalnızca fazla olan istekler reddedilir, `ERROR_THREADS_MAXIMUM` | Bu `clientKey` görev oluşturamaz, `ERROR_IP_BLOCKED_5MIN` |
| Düzelme | Bir istek tamamlanır tamamlanmaz yenisi gönderilebilir; yarıya düşen limit 10 dakika sonra eski haline döner | Süre dolunca otomatik olarak kalkar |
| Puan düşümü | Yok | Yok |
