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

Priskirkite sukonfigūruotą HtmlUnit WebClient kiekvienai vienalaikei naršymo tapatybei. Jo WebClientOptions valdo ProxyConfig; laikykite maršrutą fiksuotu, kol užduotis vykdoma. Bendra užduočių eilė nereikalauja vieno bendro kintamo naršyklės. Leistiniems viešų puslapių patikrinimams naudojant HTTP ProxyConfig pasirinkite kandidatų galinius taškus iš HTTP tarpinių serverių sąrašo prieš priskirdami juos darbuotojams.

Laikykite puslapį, vėlesnius įkėlimus ir sesijos būseną prie to kliento. Tarpinio serverio parinkčių keitimas negali persodinti jau nustatytų ryšių. Atskiri klientai sukuria ir atskirą naršyklės būseną, todėl planuokite bet kokį numatomą bendrą prisijungimą, o ne manykite, kad tapatybę lemia vien maršrutas. Tarpinio serverio autentifikavimas naudoja įdiegtos HtmlUnit versijos sąsają ir lieka atskiras nuo prisijungimo prie svetainės.

Apibrėžkite užbaigimą prieš grąžindami naršyklę į telkinį. Aukščiausio lygio atsakymas gali atkeliauti, kol scenarijai ar foninės užklausos dar vyksta. Užbaikite arba atšaukite tą darbą, išvalykite būseną, kurios neturi paveldėti kita tapatybė, ir išveskite klientą iš naudojimo, jei šios ribos negalima patikimai nustatyti.

Ribokite aktyvių klientų skaičių ir uždarykite baigtus WebClients. Naršyklė analizuoja ir gali vykdyti scenarijus, o tai kainuoja daugiau nei paprastas perdavimas. Užduočiai, kuriai reikia tik grąžinto HTML, mažesnis HTTP klientas gali palaikyti daugiau vienalaikių užklausų tame pačiame išteklių biudžete.

Susiję straipsniai