feat(proxy): otomatik Floxy→DataImpulse failover (decode regresyonu) #140

Merged
root merged 1 commits from dev into main 2026-06-13 21:30:46 +03:00
Owner

Floxy residential proxy bitince/çökünce (402 bakiye veya tünel reddi —
ERR_TUNNEL_CONNECTION_FAILED), EMEX + pcat decode istekleri ölü proxy'ye
çarpıp decode başarı oranını çökertiyordu (2026-06-13: ~17k tünel hatası/24s,
decode %78→%45). Önceki "DataImpulse last-ditch fallback" tarayıcı yolunda hiç
yoktu ve HTTP yolunda her istekte 2 ölü Floxy denemesi ziyan ediyordu.

Paylaşılan ProxyHealthService kapısı (in-memory cooldown): herhangi bir tüketici
bir Floxy bağlantı hatası görünce kapıyı tetikler; cooldown boyunca TÜM tüketiciler
DataImpulse'a düşer. Floxy'den ilk başarılı yanıt veya cooldown bitişi kapıyı
temizler (kendi kendini iyileştirir, periyodik yeniden-deneme). FLOXY_FAILOVER_COOLDOWN_MS
ile ayarlanır (varsayılan 180s).

Bağlanan tüketiciler:

  • EMEX HTTP (fetchEmexHtml): kapı açıkken DataImpulse-öncelikli zamanlama
  • EMEX tarayıcı (Playwright): launch'ta dinamik sağlayıcı seçimi + ensureSession
    health-gate'i (Floxy ölünce DataImpulse'a relaunch, kapı temizlenince Floxy'i
    yeniden dene); scrape-içi tünel ölümünde tripFloxyFailover
  • pcat (buildProxy): hem call hem capture (Playwright JWT) bacakları DataImpulse'a düşer

isProxyConnectFailure(): yalnız gerçek bağlantı hatalarında tetikler — yavaş-ama-
canlı exit'in nav timeout'u failover'ı tetiklemez.

Test: ProxyHealthService + isProxyConnectFailure birim testleri; tüm api suite (303) yeşil.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

Floxy residential proxy bitince/çökünce (402 bakiye veya tünel reddi — ERR_TUNNEL_CONNECTION_FAILED), EMEX + pcat decode istekleri ölü proxy'ye çarpıp decode başarı oranını çökertiyordu (2026-06-13: ~17k tünel hatası/24s, decode %78→%45). Önceki "DataImpulse last-ditch fallback" tarayıcı yolunda hiç yoktu ve HTTP yolunda her istekte 2 ölü Floxy denemesi ziyan ediyordu. Paylaşılan ProxyHealthService kapısı (in-memory cooldown): herhangi bir tüketici bir Floxy bağlantı hatası görünce kapıyı tetikler; cooldown boyunca TÜM tüketiciler DataImpulse'a düşer. Floxy'den ilk başarılı yanıt veya cooldown bitişi kapıyı temizler (kendi kendini iyileştirir, periyodik yeniden-deneme). FLOXY_FAILOVER_COOLDOWN_MS ile ayarlanır (varsayılan 180s). Bağlanan tüketiciler: - EMEX HTTP (fetchEmexHtml): kapı açıkken DataImpulse-öncelikli zamanlama - EMEX tarayıcı (Playwright): launch'ta dinamik sağlayıcı seçimi + ensureSession health-gate'i (Floxy ölünce DataImpulse'a relaunch, kapı temizlenince Floxy'i yeniden dene); scrape-içi tünel ölümünde tripFloxyFailover - pcat (buildProxy): hem call hem capture (Playwright JWT) bacakları DataImpulse'a düşer isProxyConnectFailure(): yalnız gerçek bağlantı hatalarında tetikler — yavaş-ama- canlı exit'in nav timeout'u failover'ı tetiklemez. Test: ProxyHealthService + isProxyConnectFailure birim testleri; tüm api suite (303) yeşil. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
root added 1 commit 2026-06-13 21:30:41 +03:00
feat(proxy): otomatik Floxy→DataImpulse failover (decode regresyonu)
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
b992c0075b
Floxy residential proxy bitince/çökünce (402 bakiye veya tünel reddi —
ERR_TUNNEL_CONNECTION_FAILED), EMEX + pcat decode istekleri ölü proxy'ye
çarpıp decode başarı oranını çökertiyordu (2026-06-13: ~17k tünel hatası/24s,
decode %78→%45). Önceki "DataImpulse last-ditch fallback" tarayıcı yolunda hiç
yoktu ve HTTP yolunda her istekte 2 ölü Floxy denemesi ziyan ediyordu.

Paylaşılan ProxyHealthService kapısı (in-memory cooldown): herhangi bir tüketici
bir Floxy bağlantı hatası görünce kapıyı tetikler; cooldown boyunca TÜM tüketiciler
DataImpulse'a düşer. Floxy'den ilk başarılı yanıt veya cooldown bitişi kapıyı
temizler (kendi kendini iyileştirir, periyodik yeniden-deneme). FLOXY_FAILOVER_COOLDOWN_MS
ile ayarlanır (varsayılan 180s).

Bağlanan tüketiciler:
- EMEX HTTP (fetchEmexHtml): kapı açıkken DataImpulse-öncelikli zamanlama
- EMEX tarayıcı (Playwright): launch'ta dinamik sağlayıcı seçimi + ensureSession
  health-gate'i (Floxy ölünce DataImpulse'a relaunch, kapı temizlenince Floxy'i
  yeniden dene); scrape-içi tünel ölümünde tripFloxyFailover
- pcat (buildProxy): hem call hem capture (Playwright JWT) bacakları DataImpulse'a düşer

isProxyConnectFailure(): yalnız gerçek bağlantı hatalarında tetikler — yavaş-ama-
canlı exit'in nav timeout'u failover'ı tetiklemez.

Test: ProxyHealthService + isProxyConnectFailure birim testleri; tüm api suite (303) yeşil.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
root merged commit 5aad3e8b22 into main 2026-06-13 21:30:46 +03:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: root/sase.tr#140