Skip to content

why does browser need total 10 seconds to get whole response at same time , I thought it would be 5 seconds, env with python3.7 and twisted 19.10, ex10-non-blocking #3

@makaay2007

Description

@makaay2007

from twisted.internet import reactor
from twisted.internet.task import deferLater
from twisted.web.resource import Resource
from twisted.web.server import Site, NOT_DONE_YET

import time

class BusyPage(Resource):
isLeaf = True

def _delayedRender(self, request):
    request.write(b"Finally done, at %s" % time.asctime().encode('utf-8'))
    request.finish()

def render_GET(self, request):
    d = deferLater(reactor, 5, lambda: request)
    d.addCallback(self._delayedRender)
    return NOT_DONE_YET # returns NOT_DONE_YET immediately,freeing up the web server to process other requests.

factory = Site(BusyPage())
reactor.listenTCP(8000, factory)
reactor.run()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions