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.

Reply via email to