Assync method on render_POST(self,request)

João Ricardo Mattos e Silva <[email protected]>
Newsgroups gmane.comp.python.twisted.web
Message-ID <CAGitN6+TVvrUNF6RaUFnnq8HX_XeGuO1o5BRpA9UQg3oaF-ksA@mail.gmail.com>
My code looks like this:

... # class Site(Resource)
def render_POST(self,request)

   otherclass.doAssync(request.args)

   print '1'

   return "done" #that returns the HTTP response, always the same.

...
def doAssync(self,msg):

    d = defer.Deferred()

    reactor.callLater(0,self.doStuff,d,msg)

    d.addCallback(self.sucess)

def doStuff(self,d,msg):

    # do some stuff

    time.sleep(2)  #just for example

    d.callback('ok')

def sucess(msg):

    print msg

The output:

 1

ok

So far, so good, but, the HTTP response (return 'done'), only happens after
the delay (time.sleep(2)). I can tell this, because the browser keeps
'loading' for 2 seconds.

What am I doing wrong?

Found some answer saying that wsgi twisted does not suport assync, and
maybe Tornado could do this. ... is that true?

Thanks anyway!

Att,

-- 
*João Ricardo Mattos e Silva*

Graduando em Ciência da Computação na Universidade Federal de Santa Catarina

*Cel: *+55 (48) 96190063  |  *Skype:* jricardomsilva  | * Msn: *
[email protected]

_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.