0001import time
0002
0003def slow_app(environ, start_response):
0004 progress = environ.get('waitforit.progress', {})
0005 start = time.time()
0006 total = 10
0007 while time.time() - start < total:
0008 progress['message'] = 'Currently at %.2f seconds (started at %i)' % (
0009 time.time() - start, start)
0010 progress['percent'] = (time.time() - start) * 100 / total
0011 progress
0012 time.sleep(1)
0013 start_response('200 OK', [('Content-type', 'text/plain')])
0014 return ['I was started at %i.' % start]
0015
0016if __name__ == '__main__':
0017 from paste.httpserver import serve
0018 from waitforit.middleware import WaitForIt
0019 app = WaitForIt(slow_app, 1, 1)
0020 from paste.translogger import TransLogger
0021 app = TransLogger(app)
0022 serve(app, host='127.0.0.1', port='8080')