A little bump in this topic. Somebody has any idea of how use standalone dal without leaving connections opened?

BR
Daniel

El 22/06/12 18:23, demetrio escribió:

Hi everyone,

I have connected WebDAV and SVN auth with a wsgi script. I needed to use a standalone DAL. When you do a dav petition with the navigator it makes a lot of petitions. Well, the thing is that always there is a connection opened (i can see them with PhpMyAdmin)

|
if self.db:
    self.db._adapter.close()
|

seeing this issue: http://code.google.com/p/web2py/issues/detail?id=731 <http://code.google.com/p/web2py/issues/detail?id=731#c4>

I have tried a lot of the lines that i found there

something like:

|
        if self.db:
            from gluon.dal import BaseAdapter
BaseAdapter.close_all_instances(None)
BaseAdapter.close_all_instances('commit')
BaseAdapter.close_all_instances('rollback')
|

something like:
|
if self.db:
            from gluon.dal import thread as dal_thread
dal_thread.instances.remove(self.db._adapter)
self.db._adapter.close()
|

and even something desesperated like:
|
if self.db:
            from gluon.dal import thread as dal_thread
dal_thread.instances.remove(self.db._adapter)
self.db._adapter.close()
self.db._adapter.close_all_instances(None)
self.db._adapter.close_all_instances('commit')
self.db._adapter.close_all_instances('rollback')

            from gluon.dal import ConnectionPool
ConnectionPool.close_all_instances(None)
ConnectionPool.close_all_instances('commit')
ConnectionPool.close_all_instances('rollback')

            from gluon.dal import BaseAdapter
BaseAdapter.close_all_instances(None)
BaseAdapter.close_all_instances('commit')
BaseAdapter.close_all_instances('rollback')
|

But always, in the best, it leaves at least one connection opened, and i don't know how to deal with it.

I have using web2py 1.99.7 in both development and production environments.

Any ideas? in this moment we are building a python mysql script, but we want to use DAL to make it runnable on any of the web2py/DAL supported db

Thanks in advance
--


Reply via email to