when migrate=False it fixed the .table locking problem. but this database locking issue is just another one, actually it's just a single user application and i still have this problem.
i think it should be delay instead of return error when the file is locked. same case apply to .table files although migrate=False can fix it. On Mar 5, 5:50 am, Thadeus Burgess <[email protected]> wrote: > Vince has had this problem in the past, and it was due to the .table > files being locked, he solved it by setting migrate=False. > > Has he forgotten about this? > > I just did a quick search on the groups for "lots of images" > > -Thadeus > > > > On Thu, Mar 4, 2010 at 3:23 PM, Jonathan Lundell <[email protected]> wrote: > > On Mar 4, 2010, at 1:08 PM, Thadeus Burgess wrote: > > >> The issue is that sqlite database is locked every time it is accessed. > >> So if you have a-lot of concurrent requests, some of those will fail > >> due to it being locked by other threads. > > >> The solution is to use a database that does not rely on locking such > >> as postgresql or mysql. > > > Vince is right, though: there's no reason to crash. The locking is just for > > serializing. Something seems wrong; if this were normal, SQLite would be > > useless. > > >> -Thadeus > > >> On Thu, Mar 4, 2010 at 2:57 PM, vince <[email protected]> wrote: > >>> here's some more errorlog just fyi. > > >>> actually it's easy to reproduce when opening page with lots of image > >>> needs to be download via web2py > > >>> Traceback (most recent call last): > >>> File "/home/web2py/gluon/main.py", line 488, in wsgibase > >>> session._try_store_in_db(request, response) > >>> File "/home/web2py/gluon/globals.py", line 358, in _try_store_in_db > >>> record_id = table.insert(**dd) > >>> File "/home/web2py/gluon/sql.py", line 1879, in insert > >>> self._db._execute(query) > >>> File "/home/web2py/applications/skyyer/models/db.py", line 76, in > >>> <lambda> > >>> db['_execute']=lambda *a,**b: > >>> timer(db,lambda:db._cursor.execute(*a,**b)) > >>> File "/home/web2py/applications/skyyer/models/db.py", line 73, in > >>> timer > >>> f() > >>> File "/home/web2py/applications/skyyer/models/db.py", line 76, in > >>> <lambda> > >>> db['_execute']=lambda *a,**b: > >>> timer(db,lambda:db._cursor.execute(*a,**b)) > >>> OperationalError: database is locked > > > -- > > You received this message because you are subscribed to the Google Groups > > "web2py-users" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group > > athttp://groups.google.com/group/web2py?hl=en. -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.

