thanks for the help. Calling dispose on all engines did fix the error for me.
Michael Bayer wrote: > there are many on this list who dont think very highly of global > variables ! :) > > id advise using your own create_engine function to keep track of created > engines before calling SA's create_engine strategy, and/or monkeypatch > sqlalchemy.create_engine to do so: > > atexit_engines = [] > def atexit(): > [e.dispose() for e in atexit_engines] > > import sqlalchemy as sa > _old_create_engine = sa.create_engine > def create_engine(*args, **kwargs): > engine = _old_create_engine(*args, **kwargs) > atexit_engines.append(engine) > return engine > sa.create_engine = create_engine > > or, if you want to get more OO about it you can make your own > EngineStrategy to do it: > > import sqlalchemy.engine.strategies as strategies > > atexit_engines = [] > class CleanupStrategy(strategies.ThreadLocalEngineStrategy): > def __init__(self): > EngineStrategy.__init__(self, 'atexit_cleanup') > def create(self, *args, **kwargs): > engine = super(CleanupStrategy, self).create(*args, **kwargs) > atexit_engines.append(engine) > return engine > CleanupStrategy() > > engine = create_engine('someengine', strategy='atexit_cleanup') > > > > On Jul 23, 2006, at 10:14 PM, Mike Bernson wrote: > >> I am using threadlocal. >> >> Is there any global name that I can call in atexit function. The atexit >> function is registered before any database stuff is accessed. The engine >> create is ' engine = create_engine(connect_string, >> strategy='threadlocal')'. In the atexit function I just want to >> close out any active because the port will not be there. There are a >> number of engine. One is created for each database that I need to access. >> >> Michael Bayer wrote: >>> maybe engine.dispose() to explicitly close off everything first >>> >>> >>> On Jul 23, 2006, at 6:15 PM, Mike Bernson wrote: >>> >>>> I am using ssh to port forward the connection to the database. >>>> >>>> I have some code that execute before any sqlalchemy that sets up a >>>> port forward from local host to mysql database host. In this function >>>> I do atexit to kill off the ssh that has the port forward. >>>> >>>> I get a the following error when the program exits: >>>> Exception _mysql_exceptions.OperationalError: (2006, 'MySQL server has >>>> gone away') in <bound method ConnectionFairy.__del__ of >>>> <sqlalchemy.pool.ConnectionFairy object at 0x2aaaad4c8d90>> ignored >>>> >>>> Is there something that I can put in the atexit function clear up this >>>> error ? >>>> >>>> Is there something I can put as the last statements to be executed >>>> that >>>> would clean up this error (for normal execution path) >>>> >>>> The atexit is done so that no matter how the program exits the ssh is >>>> killed off. >>>> >>>> ---------------------------------------------------------------------- >>>> --- >>>> Take Surveys. Earn Cash. Influence the Future of IT >>>> Join SourceForge.net's Techsay panel and you'll get the chance to >>>> share your >>>> opinions on IT & business topics through brief surveys -- and earn >>>> cash >>>> http://www.techsay.com/default.php? >>>> page=join.php&p=sourceforge&CID=DEVDEV >>>> _______________________________________________ >>>> Sqlalchemy-users mailing list >>>> Sqlalchemy-users@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users >>> >>> >>> ------------------------------------------------------------------------- >>> >>> Take Surveys. Earn Cash. Influence the Future of IT >>> Join SourceForge.net's Techsay panel and you'll get the chance to >>> share your >>> opinions on IT & business topics through brief surveys -- and earn cash >>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>> >>> _______________________________________________ >>> Sqlalchemy-users mailing list >>> Sqlalchemy-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users >> >> ------------------------------------------------------------------------- >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to >> share your >> opinions on IT & business topics through brief surveys -- and earn cash >> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >> _______________________________________________ >> Sqlalchemy-users mailing list >> Sqlalchemy-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Sqlalchemy-users mailing list Sqlalchemy-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users