Changeset 31856 for main/trunk


Ignore:
Timestamp:
08/07/17 19:09:21 (4 years ago)
Author:
ak19
Message:

If the proxy settings are wrong or set when not needed, pressing the Server Information button would take forever (freeze GLI GUI), and the wget that java launched through perl would also take forever, blocking. The wget will have to be terminated from Task Manager. To overcome issues of network settings misconfigurations, which Dr Bainbridge said are hard to detect, setting the number of tries on pressing the Server Info button to 2. The number of tries for pressing the Download button were already 2, so this just makes the two wget commands issued more similar (but the wget launched by the Download button now uses the --tries=2 rather than the shorthand -t 2 too, so that the code reads better). Setting the number of wget retries launched by the Server Info Dialog also ensures wget is eventually terminated, as happens when both tries fail. Some more informative messages are now displayed if the server is unavaiable, depending on whether proxying is on or not.

Location:
main/trunk/greenstone2/perllib/downloaders
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/perllib/downloaders/WebDownload.pm

    r31853 r31856  
    115115    }
    116116    #my $cmdWget = "-N -k -x -t 2 -P \"".$hashGeneralOptions->{"cache_dir"}."\" $strWgetOptions $strOptions ".$self->{'url'};
    117     my $cmdWget = "-N -k -x -t 2  $strWgetOptions $strOptions $cache_dir " .$self->{'url'};   
     117    my $cmdWget = "-N -k -x --tries=2 $strWgetOptions $strOptions $cache_dir " .$self->{'url'};
    118118
    119119    #print STDOUT "\n@@@@ RUNNING WGET CMD: $cmdWget\n\n";
     
    188188    my $strOptions = $self->getWgetOptions();
    189189
    190     my $strBaseCMD = $strOptions." -q -O - \"$self->{'url'}\"";
     190    my $strBaseCMD = $strOptions." --tries=2 -q -O - \"$self->{'url'}\"";
    191191
    192192 
     
    194194   
    195195    if (!defined $strIdentifyText or $strIdentifyText eq ""  ){
    196     print STDERR "Server information is unavailable.\n";
    197     print STDERR "<<Finished>>\n";
     196        print STDERR "Server information is unavailable.\n";           
     197        if ($self->{'proxy_on'} && $self->{'proxy_host'} && $self->{'proxy_port'}) { # if proxying set, the settings may be wrong
     198            print STDERR "Current proxy settings are:\n";
     199            print STDERR "- host=$self->{'proxy_host'}\n";
     200            print STDERR "- port=$self->{'proxy_port'}\n";
     201        } else { # else no proxy set, the user may need proxy settings
     202            prin STDERR "The external server might not be responding, or you might need to switch on proxy settings.\n";
     203        }
     204        print STDERR "<<Finished>>\n";
    198205         return; 
    199206    }
  • main/trunk/greenstone2/perllib/downloaders/WgetDownload.pm

    r31851 r31856  
    263263    # closing an extra unused handle, a single handle is used instead for both the child's
    264264    # stderr and stdout.
     265    # See http://blog.0x1fff.com/2009/09/howto-execute-system-commands-in-perl.html
     266    # for why this is the right thing to do.
    265267
    266268    # Both open2 and open3 don't return on failure, but raise an exception. The handling
     
    284286        }
    285287        $strReadIn .= $strLine;
    286     } 
     288    }
    287289    else { # wget finished, terminate naturally
    288290        #print STDOUT "\nPerl: open2 command, input stream closed. Wget terminated naturally.\n";
Note: See TracChangeset for help on using the changeset viewer.