job A → WebClient A → proxy A → destination
job B → WebClient B → proxy B → destination

Призначте налаштований HtmlUnit WebClient кожній одночасній ідентичності перегляду. Його WebClientOptions володіє ProxyConfig; вважайте маршрут фіксованим, поки завдання виконується. Спільна черга завдань не потребує одного спільного змінюваного браузера. Для дозволених перевірок публічних сторінок з HTTP ProxyConfig вибирайте кандидатні кінцеві точки зі списку HTTP-проксі перед призначенням їх робітникам.

Тримайте сторінку, наступні завантаження та стан сеансу в цього клієнта. Зміна параметрів проксі не може перенести вже встановлені з'єднання. Окремі клієнти створюють і окремий стан браузера, тому плануйте будь-який передбачений спільний вхід, а не припускайте, що ідентичність визначає лише маршрут. Автентифікація проксі використовує інтерфейс встановленої версії HtmlUnit і залишається окремою від входу на сайт.

Визначте завершення перед поверненням браузера до пулу. Відповідь верхнього рівня може надійти, поки скрипти або фонові запити тривають. Завершіть або скасуйте цю роботу, очистіть стан, який наступна ідентичність не повинна успадкувати, і виведіть клієнт з експлуатації, якщо цю межу не можна встановити надійно.

Обмежте кількість активних клієнтів і закривайте завершені WebClients. Браузер аналізує і може виконувати скрипти, що коштує більше за просту передачу. Для завдання, якому потрібен лише повернутий HTML, менший HTTP-клієнт може підтримати більше одночасних запитів у межах того самого бюджету ресурсів.

Схожі статті