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
