diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-07-27 04:08:53 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-07-27 04:08:53 +0000 |
commit | ed4fc64bb0ac61c27bc4af32962fb129e74a36bf (patch) | |
tree | c1cf2fb7b1cafced82a8898e23d2a0bf5ced8526 /test/perf/wsgi.py | |
parent | 3a8e235af64e36b3b711df1f069d32359fe6c967 (diff) | |
download | sqlalchemy-ed4fc64bb0ac61c27bc4af32962fb129e74a36bf.tar.gz |
merging 0.4 branch to trunk. see CHANGES for details. 0.3 moves to maintenance branch in branches/rel_0_3.
Diffstat (limited to 'test/perf/wsgi.py')
-rw-r--r-- | test/perf/wsgi.py | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/test/perf/wsgi.py b/test/perf/wsgi.py index 365956dc7..d22eeb76a 100644 --- a/test/perf/wsgi.py +++ b/test/perf/wsgi.py @@ -1,53 +1,55 @@ #!/usr/bin/python +"""Uses ``wsgiref``, standard in Python 2.5 and also in the cheeseshop.""" +import testbase from sqlalchemy import * -import sqlalchemy.pool as pool +from sqlalchemy.orm import * import thread -from sqlalchemy import exceptions +from testlib import * + +port = 8000 import logging logging.basicConfig() logging.getLogger('sqlalchemy.pool').setLevel(logging.INFO) threadids = set() -#meta = MetaData('postgres://scott:tiger@127.0.0.1/test') - -#meta = MetaData('mysql://scott:tiger@localhost/test', poolclass=pool.SingletonThreadPool) -meta = MetaData('mysql://scott:tiger@localhost/test') +meta = MetaData(testbase.db) foo = Table('foo', meta, Column('id', Integer, primary_key=True), Column('data', String(30))) - -meta.drop_all() -meta.create_all() - -data = [] -for x in range(1,500): - data.append({'id':x,'data':"this is x value %d" % x}) -foo.insert().execute(data) - class Foo(object): pass - mapper(Foo, foo) -root = './' -port = 8000 +def prep(): + meta.drop_all() + meta.create_all() + + data = [] + for x in range(1,500): + data.append({'id':x,'data':"this is x value %d" % x}) + foo.insert().execute(data) def serve(environ, start_response): + start_response("200 OK", [('Content-type', 'text/plain')]) sess = create_session() l = sess.query(Foo).select() - - start_response("200 OK", [('Content-type','text/plain')]) threadids.add(thread.get_ident()) - print "sending response on thread", thread.get_ident(), " total threads ", len(threadids) - return ["\n".join([x.data for x in l])] + + print ("sending response on thread", thread.get_ident(), + " total threads ", len(threadids)) + return [str("\n".join([x.data for x in l]))] if __name__ == '__main__': - from wsgiutils import wsgiServer - server = wsgiServer.WSGIServer (('localhost', port), {'/': serve}) - print "Server listening on port %d" % port - server.serve_forever() + from wsgiref import simple_server + try: + prep() + server = simple_server.make_server('localhost', port, serve) + print "Server listening on port %d" % port + server.serve_forever() + finally: + meta.drop_all() |