Teslimat ve yeniden denemeler
Abonelik başına, olay başına tek istek
Bölüm başlığı “Abonelik başına, olay başına tek istek”CIQRA, Content-Type: application/json; charset=utf-8 ve
imzalı header’larla bir POST gönderir. Teslimatlar kalıcı olarak kuyruğa alınır ve
arka plandaki bir worker tarafından, genellikle birkaç saniye içinde gönderilir.
| Başarı | herhangi bir 2xx durum kodu |
| Zaman aşımı | deneme başına 15 saniye (bağlanmak için 10 sn) |
| Yönlendirmeler | izlenir |
| Sıralama | garanti edilmez — occurredAt ve Ciqra-Event-Id kullanın |
| Garanti | en az bir kez — Ciqra-Event-Id üzerinden tekilleştirin |
Hızlı yanıt verin: 200 ile onaylayın, işi sonra yapın. 15 saniyeden uzun süren bir handler, sonunda başarılı
olsa bile başarısız olarak kaydedilir ve yeniden denenir.
Yeniden denemeler
Bölüm başlığı “Yeniden denemeler”Başarısız bir deneme — 2xx olmayan yanıt, zaman aşımı veya bağlantı hatası — üstel geri çekilme (exponential
backoff) ile yeniden denenir, toplam 8 deneme:
| Deneme | Bir önceki başarısız olduktan ne kadar sonra gönderilir |
|---|---|
| 1 | — (hemen) |
| 2 | 30 sn |
| 3 | 1 dk |
| 4 | 2 dk |
| 5 | 4 dk |
| 6 | 8 dk |
| 7 | 16 dk |
| 8 | 32 dk |
İlk denemeden yaklaşık 64 dakika sonra, hiç başarılı olmamış bir teslimat dead-letter’a alınır ve bir daha denenmez. Tüccar başarısız teslimatları yönetim panelinde görebilir ve elle yeniden gönderebilir. Olaydan 30 gün sonra hâlâ gönderilmemiş bir teslimattan da vazgeçilir.
Ciqra-Event-Age-Seconds bir olayın size ulaştığında ne kadar eski olduğunu söyler — birkaç yeniden denemeden
sonra bir saate yaklaşabilir.
Bir abonelik, teslimatlar başarısız oluyor diye asla otomatik olarak kapatılmaz. Endpoint’iniz bir saatten uzun süre kapalı kalacaksa o aralıktaki olaylar dead-letter’a düşer: geri geldiğinizde API üzerinden mutabakat yapın.