Can I see the code?

On Jun 28, 2012, at 10:08 AM, Daniel González Zaballos wrote:

> It does not work.
> 
> If I use the self.db = 0 sometimes i get this error (and connections are 
> open):
> 
> mod_wsgi (pid=1419): Exception occurred processing WSGI script 
> '/home/demetrio/devel/python_virtual_2.6/web2py/applications/forge2/scripts/auth.py'.
> Traceback (most recent call last):
> File 
> "/home/demetrio/devel/python_virtual_2.6/web2py/applications/forge2/scripts/auth.py",
>  line 64, in check_password
>     close_auth(auth)
> File 
> "/home/demetrio/devel/python_virtual_2.6/web2py/applications/forge2/scripts/base_auth.py",
>  line 68, in close_auth
>     auth.close()
> File 
> "/home/demetrio/devel/python_virtual_2.6/web2py/applications/forge2/scripts/base_auth.py",
>  line 97, in close
>     self.db.close()
> File "/home/demetrio/devel/python_virtual_2.6/web2py/gluon/dal.py", line 
> 6343, in __getattr__
>      return self[key]
> File "/home/demetrio/devel/python_virtual_2.6/web2py/gluon/dal.py", line 
> 6337, in __getitem__
>      return dict.__getitem__(self, str(key))
>  KeyError: 'close'
> 
> With BaseAdapter.close_all_instances('commit') its the same
> 
> 
> El 28/06/12 16:47, Massimo Di Pierro escribió:
>> why not simply?
>> 
>> db.commit()
>> db.close()
>> 
>> if db in an on object attribute like self.db you can do
>> 
>> if self.db:
>>    self.db.commit()
>>    self.db.close()
>>    self.db = 0
>> 
>> you can also do:
>> 
>> BaseAdapter.close_all_instances('commit')
>> 
>> 
>> 
>> On Friday, 22 June 2012 11:23:47 UTC-5, demetrio wrote:
>> 
>> 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
>> 
>> 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