Subject: | Frontier::Client is limited to requests taking less than 180 seconds |
It appears as though if you are requesting data form an XML-RPC server
that takes longer than 180 seconds to return results Frontier::Client
will fail with a 500 read error. This appears to be due to the default
180 second timeout within LWP::UserAgent.
In order to handle requests that take longer than 180 seconds the
timeout should be parameterized so that it can be specified to the
Frontier::Client constructor and then passed to the LWP::UserAgent.
The following in Frontier::Client->new:
$self->{'ua'} = LWP::UserAgent->new;
$self->{'ua'}->proxy('http', $self->{'proxy'})
if(defined $self->{'proxy'});
$self->{'rq'} = HTTP::Request->new (POST => $self->{'url'});
$self->{'rq'}->header('Content-Type' => 'text/xml');
Could be modified to:
$self->{'ua'} = LWP::UserAgent->new;
$self->{'ua'}->proxy('http', $self->{'proxy'})
if(defined $self->{'proxy'});
$self->{'ua'}->timeout($self->{'timeout'})
if(defined $self->{'timeout'});
$self->{'rq'} = HTTP::Request->new (POST => $self->{'url'});
$self->{'rq'}->header('Content-Type' => 'text/xml');