On Sat, Jan 14, 2012 at 3:01 PM, <[email protected]> wrote:

> On 10:18 am, [email protected] wrote:
> >I have a situation where a service I am using will occasionally not
> >respond
> >for considerable periods - hours not minutes.
> >
> >I am using cooperate and yield to loop round a series of requests I
> >want to
> >make
> >
> >The actual function to send the request returns a deferred to the
> >yield. I
> >add the callbacks onto this and set a calllater to fire in 30 seconds.
> >
> >If that fires I can then cancel the deferred. But I think I ought to be
> >cancelling the request as well else I assume I will be leaking request
> >objects that might not get dealt with.
> >
> >However, I can't see where I might cancel the request. Or should I be
> >dropping the connection associated with the request and if so where
> >would I
> >be doing that.
> >
> >Have I got that right?
>
> The cancel method of the Deferred returned by Agent.request is probably
> the right API to use to do the cleanup you're interested in.  However,
> cancelation is not specifically implemented for the Agent.request
> Deferred yet.  Though it may sound like one, this is not a contradiction
> due to the way Deferred cancelation works (ideally we would have
> documentation about Deferred cancelation that would explain why this is,
> but we don't).
>
> See http://twistedmatrix.com/trac/ticket/4330 for progress on this issue
> or to contribute.
>
> Jean-Paul
>
> _______________________________________________
> Twisted-web mailing list
> [email protected]
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
>
Thanks for the information.

I did take a look at the ticket. Not sure what I could contribute though.
But will take a closer look.

John Aherne
_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web

Reply via email to