Ένας worker βρίσκει ένα χρησιμοποιήσιμο proxy. Επιστρέφετε τη διεύθυνσή του, καλείτε cancel στα άλλα futures και περιμένετε να σταματήσει η δραστηριότητα δικτύου. Μπορεί να μην σταματήσει.

Ένα Future μπορεί να ακυρωθεί πριν ξεκινήσει το callable του. Μόλις ένα νήμα εκτελεί ήδη ένα αίτημα, η ακύρωση του Future του δεν διακόπτει αυτή τη λειτουργία socket. Ο worker χρειάζεται τη δική του περιορισμένη λειτουργία δικτύου και διαδρομή καθαρισμού.

Η διάρκεια ζωής του executor έχει επίσης σημασία. Η έξοδος από ένα πλαίσιο ThreadPoolExecutor περιμένει να τελειώσει η δουλειά του. Το να βρεις ένα γρήγορο αποτέλεσμα και μετά να περιμένεις αρκετούς αργούς workers μπορεί να κάνει τη συνολική καθυστέρηση του καλούντος να μην μοιάζει καθόλου με τον αναφερόμενο χρόνο απόκρισης του νικητή.

Περιορίστε την κούρσα πριν ξεκινήσει

  • Περιορίστε τον αριθμό των ταυτόχρονων ελέγχων αντί να υποβάλλετε μια απεριόριστη δημόσια λίστα. Η δωρεάν λίστα proxy παρέχει υποψηφίους για την είσοδο του ελεγκτή, με το πρωτόκολλο κάθε τελικού σημείου να διατηρείται για τον worker.
  • Δώστε σε κάθε αίτημα κατάλληλη πολιτική σύνδεσης και ανάγνωσης.
  • Δώστε στον καλούντα έναν συνολικό προϋπολογισμό απόφασης.
  • Καθορίστε ποιος αδειάζει ή κλείνει τα αποτελέσματα από workers που επιβιώνουν της απόφασης.

Το να περιμένεις λιγότερο για ένα Future δεν είναι το ίδιο με το να κάνεις το υποκείμενο αίτημά του συντομότερο. Ομοίως, η εγκατάλειψη του αποτελέσματος δεν απελευθερώνει αμέσως κάθε πόρο δικτύου.

Το πρώτο επιτυχές αποτέλεσμα είναι επίσης μόνο ο πρώτος επιτυχής έλεγχος. Μπορεί να εξαρτάται από τον προγραμματισμό, τις προσωρινά αποθηκευμένες συνδέσεις και τον συγκεκριμένο προορισμό ελέγχου. Δεν αποδεικνύει ότι το τελικό σημείο είναι παγκοσμίως το ταχύτερο ή ότι η πραγματική εργασία θα πετύχει.

Συχνά μια μικρή διατηρούμενη δεξαμενή με πρόσφατες παρατηρήσεις είναι απλούστερη από το να κάνεις κούρσα σε ολόκληρη τη λίστα πριν από κάθε λήψη. Χρησιμοποιήστε το αποτέλεσμα της πραγματικής λειτουργίας για να ενημερώσετε την εγγραφή, με ελεγχόμενη πολιτική ανάκτησης για αποτυχίες. Ο προέλεγχος θα πρέπει να κερδίζει το κόστος του αντί να διπλασιάζει κάθε εργασία από συνήθεια.

Σχετικά άρθρα