Как правильно использовать тайм-аут, когда я пытаюсь сделать ->get(URL)
запросы с WWW::Mechanize::Firefox
?
my $mech = WWW::Mechanize::Firefox->new(timeout => 10);
не работает
Как правильно использовать тайм-аут, когда я пытаюсь сделать ->get(URL)
запросы с WWW::Mechanize::Firefox
?
my $mech = WWW::Mechanize::Firefox->new(timeout => 10);
не работает
Это можно смоделировать, по крайней мере, в хорошей степени.
Вы можете отключить синхронизацию для get
, и в этом случае вызов должен вернуться немедленно. Затем опрашивайте каждые $sleep_time
до истечения времени ожидания с некоторой проверкой того, завершена ли страница. Сон позволяет завершить все другие хорошие страницы, поэтому установите $sleep_time
соответствующим образом.
my $timeout = 10;
my $sleep_time = 1;
my $page = get($url, synchronize => 0);
for (1..$timeout) {
# Test some page property that will confirm that it loaded
last if $page->title eq $expected_title;
sleep $sleep_time;
}
Есть вопрос, как именно подтверждать каждую страницу, но это должно обеспечить рабочий тайм-аут.
alarm
. - person ThisSuitIsBlackNot   schedule 07.01.2016