Thanks for your thoughts. @Yarko the locking code snippet seems useful. In this case, however, my users never updated the same record. The problem was the locking of the complete database each time two users updated or created 'their own' records.
@Beerc PostgreSQL did the trick, thanks :) The sqlite docs suggest, however, that it should be possible to have small multi-user applications using sqlite. I mean, a few users reading/writing each 20/30 seconds does not have to be a problem if each request locks the database for x milliseconds. I just incorrectly assumed that handling occasional locks would have been handled somehow by the DAL. Just a thought (don't know if it makes sense): what about implementing a simple sqlite lock handling mechanism into DAL? For example retry to read/write the sqlite database a few times before giving up. Don't know if that's the best approach, but it might have solved my problem (possibly reduce cebergs 5-10% no content problem too) and fascilitate small multi-user projects with web2py+sqlite. I feel a few multi-user writes in 30 seconds should not require me to adopt a full relational database (unnecessary memory footprint for my small project) or writing this lock handling code myself specifically for sqlite (removing some of the advantage for using DAL and sqlite out of the box; one of the reasons to use web2py in the first place). On the other hand installing postgreSQL was easy enough and it's great that I only needed to change 1 line of code in my web2py application :) -Sven -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.