[Web-SIG] A 'shutdown' function in WSGI
Simon Sapin
simon.sapin at exyr.org
Tue Feb 21 10:26:41 CET 2012
Le 21/02/2012 09:23, Tarek Ziadé a écrit :
> Instead of having to provide two or three objects separately to a
> server, how about making the callbacks attributes of the application
> callable?
>
>
> can you show us an example ?
Proposal:
Function-based:
def startup():
return open_resource(something)
def shutdown(resource):
resource.close()
def application(environ, start_response):
# ...
return response_body
application.startup = startup
application.shutdown = shutdown
Class-based:
class App(object):
def startup(self):
return open_resource(something)
def shutdown(self, resource):
resource.close()
def __call__(self, environ, start_response):
# ...
return response_body
application = App()
The return value of startup() can be any python object and is opaque to
the server. It is passed as-is to shutdown()
startup() could take more parameters. Maybe the application (though can
we already have it as self for class-based or in a closure for
function-based)
Regards,
--
Simon Sapin
More information about the Web-SIG
mailing list