
Hi Glyph, I am not sure I understand. Is there a method/variable in request which keeps a track whether notifyFinish has been fired.. So, I can do something like. if not request.hasFiredNotifyFinish: request.finish() ?? I have sort of able to get around this issue.. though I can't put a finger on what actually worked. Here is what I did.. First change to 19.7rc01 version.. and just fix the channel issue. Next self.fetch_response(request).. This is an async def.. So what I did was.. async def fetch_response(request): future = {} try: future = await some other async def.. which returns future except asyncio.CancelledError as e: print("Error..", e) return future I basically ended up doing this everywhere where there is async/await. Next, I added this: d.addErrback(lambda failure: failure.trap(asyncio.CancelledError)) So.. now.. I don't see the notifyFinish error anymore. And I am bit terrified not to touch anything.. :-D But, I want to try out your suggestion as that seems like a more solid way to handle the issue. But I am not sure I quite understand, how do I figure out whether notifyFinish has been called before calling finish? On Mon, Aug 5, 2019 at 1:56 AM Glyph <glyph@twistedmatrix.com> wrote:
On Aug 4, 2019, at 9:04 PM, Waqar Khan <wk80333@gmail.com> wrote:
Ah yes.. That is true..
If I comment out request.finish() (Here is the doc which I tried to followed: https://twistedmatrix.com/documents/13.0.0/web/howto/web-in-60/interrupted.h... ) Then actually.. when I try to test out the code... (via curl or like doing requests.get .. to the URI).. it is just stuck..
Yep! This makes sense; if you don't call `.finish()` *at all* then your code will never tell the client that it's done.
But if you call `.finish()` *after notifyFinish() has fired* then you get that error.
If you change your code to only call `.finish()` if the deferred returned by notifyFinish() has not fired or failed yet, do you get the error? It's possible that you still do, in which case, there's a bug in Twisted that needs to be fixed.
I do want to convey my thanks for the help. Really appreciate it.
Thanks for using Twisted :) -g
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python