Testing downloads of large audio recordings from ilc2007, I
find that
the bytes stop flowing after five minutes. Allegroserve
(version
1.2.43 on ACL 8.0) spits out a 500 return code and the
transaction is
over.
I find in AServe doc the following:
(wserver-response-timeout wserver) - the number of
seconds
AllegroServe allows for an http request function to be
run and
finished sending back its response. The initial value
for this
slot of the wserver object is found in
*http-response-timeout*
which defaults to 300 seconds. You can alter this
timeout value
with the :timeout argument to with-http-response or by
specifying
a :timeout argument to the publish function creating the
entity.
and I'm sure this is exactly what I've hit.
The thought of just cranking this number up and hoping for
the best
makes me cringe a little. Surely there must be better? Well,
the folks
at Franz obviously thought so too, because a couple of
paragraphs up
they say:
In Acl 6.1 we added the capability of having each I/O
operation to
a socket stream time out. This means that we don't have
to
predict how long it should take to get a request or send
a
response. As long as we're making progress reading or
writing we
know that the client on the other end of the network
connection is
alive and well.
Fine words. But totally contradicted by having a
response-timeout slot
in the server.
Does anyone have any experience with getting AServe to
monitor whether
it's "making progress reading" and so knows
"that the client on the
other end of the network connection is alive and
well"?
Thanks,
- nick
_______________________________________________
lispweb mailing list
lispweb red-bean.com
http
://www.red-bean.com/mailman/listinfo/lispweb
|