Tekrar Denemeler ve Tekrar Politikası
Başarısız teslimatlar kaybolmamalıdır. HookSniff bunları üstel geri çekilme ile otomatik olarak tekrar dener.
Sorun
Webhook teslimatları sürekli başarısız olur. Alıcının sunucusu çökmüş olabilir, ağ yavaş olabilir veya bir dağıtım devam ediyor olabilir. Yalnızca bir kez denerseniz, olayı kaybedersiniz.
Ancak körce tekrar denemek de kötüdür — hemen ve agresif bir şekilde tekrar denerseniz, zaten zorlanan bir sunucuyu bunaltırsınız.
HookSniff Tekrar Denemeleri Nasıl Yönetir
HookSniff jitter ile üstel geri çekilme kullanır:
- Üstel geri çekilme — Her tekrar bir öncekinden daha uzun bekler (1s → 2s → 4s)
- Jitter (0-25%) — Rastgele varyasyon, birçok teslimat aynı anda başarısız olduğunda çılgın kalabalığı önler
- Yapılandırılabilir — Uç nokta başına özelleştirin: maks deneme, temel gecikme, maks gecikme, çarpan
Varsayılan program (5 deneme):
| Deneme | Başarısızlık Sonrası Gecikme | Kümülatif Zaman |
|---|---|---|
| 1 | ~1 saniye | ~1s |
| 2 | ~2 saniye | ~3s |
| 3 | ~4 saniye | ~7s |
Platform varsayılanı: 5 deneme. Uç nokta başına 1'den 100'e yapılandırılabilir.
Ne Başarısızlık Sayılır?
Tüm hatalar tekrar denemeyi tetiklemez. HookSniff, tekrar denenebilir ve tekrar denenebilir olmayan başarısızlıkları ayırt eder:
Tekrar Denenebilir
5xxSunucu hataları429Hız sınırlı408İstek zaman aşımı- Bağlantı zaman aşımı (30s)
- DNS hatası
- TLS el sıkışma hatası
Tekrar Denenmez
400Hatalı istek401Yetkisiz403Yasak404Bulunamadı- Diğer istemci hataları
Yalnızca 2xx yanıtları başarılı sayılır. İstemci hataları (429/408 hariç xx) isteğin kendisinde bir sorun olduğunu gösterir — tekrar denemek yardımcı olmaz.
Özel Tekrar Politikası
Farklı uç noktaların farklı ihtiyaçları vardır. Kritik bir ödeme webhook'u, düşük öncelikli bir bildirimden daha fazla tekrar denemeye ihtiyaç duyabilir. Uç nokta başına yapılandırın:
curl -X PUT https://hooksniff-api-1046140057667.europe-west1.run.app/v1/endpoints/ep_abc123/retry-policy \
-H "Authorization: Bearer hr_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"max_attempts": 5,
"base_delay_ms": 2000,
"max_delay_ms": 600000,
"multiplier": 2.0
}'| Parametre | Varsayılan | Açıklama |
|---|---|---|
| max_attempts | 3 | Maks teslimat denemesi (1–100) |
| base_delay_ms | 1,000 | Milisaniye cinsinden temel gecikme |
| max_delay_ms | 3,600,000 | Maksimum gecikme sınırı (1 saat) |
| multiplier | 2.0 | Geri çekilme çarpanı (1.0 = doğrusal, 2.0 = üstel) |
Başarısız Webhook'ları Tekrar Gönderme
Bir teslimat DLQ'ya taşındıktan sonra, tekrar oynatabilirsiniz. Bu, deneme sayacını sıfırlar ve yeni bir tekrar programıyla tekrar kuyruğa alır:
curl -X POST https://hooksniff-api-1046140057667.europe-west1.run.app/v1/webhooks/wh_xyz789/replay \
-H "Authorization: Bearer hr_live_YOUR_KEY"Dashboard'dan tek tıklamayla da tekrar oynatabilirsiniz. Bunu alıcı tarafındaki sorunu düzelttikten sonra kullanın.
Ne Zaman Özelleştirmeli
- Ödeme webhook'ları — Maks denemeyi 5-10'a artırın, ödemeler kritiktir
- Analitik olayları — 1-2'ye düşürün, agresif tekrar denemeye değmez
- Yavaş alıcılar — Daha fazla toparlanma süresi vermek için base_delay_ms'yi artırın
- Yüksek hacimli uç noktalar — Tekrar denemeleri yaymak için daha yüksek çarpan kullanın