Bir worker istifadəyə yararlı proxy tapır. Siz onun ünvanını qaytarır, digər future-lərdə cancel çağırır və şəbəkə fəaliyyətinin dayanacağını gözləyirsiniz. Dayanmaya bilər.

Future, callable-ı başlamazdan əvvəl ləğv edilə bilər. Thread artıq bir sorğu icra edirsə, onun Future-nu ləğv etmək həmin socket əməliyyatını kəsmir. Worker-ə öz məhdud şəbəkə əməliyyatı və təmizləmə yolu lazımdır.

Executor-un ömrü də vacibdir. ThreadPoolExecutor kontekstindən çıxmaq onun işinin bitməsini gözləyir. Bir sürətli nəticə tapıb sonra bir neçə yavaş worker-i gözləmək çağıranın ümumi gecikməsini qalibin bildirdiyi latensiyaya tamamilə bənzəməz hala gətirə bilər.

Yarışı başlamazdan əvvəl məhdudlaşdırın

  • Limitsiz ictimai siyahı təqdim etmək əvəzinə eyni vaxtda yoxlamaların sayını məhdudlaşdırın. Pulsuz proxy siyahısı yoxlayıcının girişi üçün namizədlər təqdim edir, hər endpoint-in protokolu worker üçün saxlanılır.
  • Hər sorğuya uyğun bağlantı və oxuma siyasəti verin.
  • Çağırana ümumi qərar büdcəsi verin.
  • Qərardan sonra yaşayan worker-lərin nəticələrini kimin boşaltdığını və ya bağladığını müəyyənləşdirin.

Future üçün daha az gözləmək onun altındakı sorğunu qısaltmaqla eyni deyil. Eyni şəkildə, nəticəni tərk etmək hər şəbəkə resursunu dərhal azad etmir.

İlk uğurlu nəticə də yalnız ilk uğurlu yoxlamadır. O, planlaşdırmadan, keşlənmiş bağlantılardan və konkret yoxlama təyinatından asılı ola bilər. Endpoint-in universal olaraq ən sürətli olduğunu və ya real tapşırığın uğur qazanacağını sübut etmir.

Çox vaxt son müşahidələrlə kiçik saxlanılan hovuz hər yükləmədən əvvəl bütün siyahı ilə yarışmaqdan sadədir. Real əməliyyatın nəticəsindən qeydi yeniləmək üçün istifadə edin, uğursuzluqlar üçün nəzarətli bərpa siyasəti ilə. Preflight öz xərcini qazanmalıdır, hər tapşırığı vərdişlə ikiqat artırmaq əvəzinə.

Əlaqəli məqalələr