Δώστε σε κάθε εργαζόμενο HtmlUnit ένα σταθερό proxy
Ορίστε τις επιλογές proxy του HtmlUnit πριν από τη φόρτωση των σελίδων και εμποδίστε τους παράλληλους εργαζόμενους να αλλάζουν τη διαδρομή ενός κοινόχρηστου προγράμματος περιήγησης.
job A → WebClient A → proxy A → destination
job B → WebClient B → proxy B → destinationΑναθέστε ένα διαμορφωμένο HtmlUnit WebClient σε κάθε ταυτόχρονη ταυτότητα περιήγησης. Το WebClientOptions του κατέχει το ProxyConfig· θεωρήστε τη διαδρομή σταθερή όσο εκτελείται η εργασία. Μια κοινή ουρά εργασιών δεν απαιτεί έναν κοινό μεταβλητό περιηγητή. Για επιτρεπόμενους ελέγχους δημόσιων σελίδων με HTTP ProxyConfig, επιλέξτε υποψήφια τελικά σημεία από τη λίστα proxy HTTP πριν τα αναθέσετε σε εργαζόμενους.
Κρατήστε τη σελίδα, τις επόμενες φορτώσεις και την κατάσταση συνεδρίας σε αυτόν τον πελάτη. Η αλλαγή επιλογών proxy δεν μπορεί να μεταφυτεύσει ήδη εγκατεστημένες συνδέσεις. Οι ξεχωριστοί πελάτες δημιουργούν και ξεχωριστή κατάσταση περιηγητή, οπότε σχεδιάστε τυχόν προβλεπόμενη κοινή σύνδεση αντί να υποθέτετε ότι μόνο η δρομολόγηση καθορίζει την ταυτότητα. Ο έλεγχος ταυτότητας proxy χρησιμοποιεί τη διεπαφή της εγκατεστημένης έκδοσης HtmlUnit και παραμένει ξεχωριστός από τη σύνδεση στον ιστότοπο.
Ορίστε την ολοκλήρωση πριν επιστρέψετε έναν περιηγητή σε μια δεξαμενή. Η απόκριση ανώτατου επιπέδου μπορεί να φτάσει ενώ σενάρια ή αιτήματα υποβάθρου συνεχίζονται. Ολοκληρώστε ή ακυρώστε αυτή την εργασία, καθαρίστε την κατάσταση που δεν πρέπει να κληρονομήσει η επόμενη ταυτότητα και αποσύρετε τον πελάτη αν αυτό το όριο δεν μπορεί να καθοριστεί αξιόπιστα.
Περιορίστε τον αριθμό ενεργών πελατών και κλείστε τους ολοκληρωμένους WebClients. Ένας περιηγητής αναλύει και μπορεί να εκτελέσει σενάρια, κάτι που κοστίζει περισσότερο από μια απλή μεταφορά. Για μια εργασία που χρειάζεται μόνο το HTML που επιστρέφεται, ένας μικρότερος πελάτης HTTP μπορεί να υποστηρίξει περισσότερα ταυτόχρονα αιτήματα στο ίδιο όριο πόρων.