On 27 May 2005 06:43:04 -0700, Paul Rubin <"http://phr.cx"@nospam.invalid> wrote: >Jp Calderone <[EMAIL PROTECTED]> writes: >> >But they haven't. They depend on messy things like server processes >> >constantly running, which goes against the idea of a cgi that only >> >runs when someone calls it. >> >> SQLite is an in-process dbm. > >http://www.sqlite.org/faq.html#q7 > > (7) Can multiple applications or multiple instances of the same > application access a single database file at the same time? > > Multiple processes can have the same database open at the same > time. Multiple processes can be doing a SELECT at the same > time. But only one process can be making changes to the database > at once. > >But multiple processes changing the database simultaneously is >precisely what the OP wants to do.
Er, no. The OP precisely wants exactly one process to be able to write at a time. If he was happy with multiple processes writing simultaneously, he wouldn't need any locking mechanism at all >:) If you keep reading that FAQ entry, you discover that SQLite implements its own locking mechanism internally, allowing different processes to *interleave* writes to the database, and preventing any data corruption which might arise from simultaneous writes. That said, I think an RDBM is a ridiculously complex solution to this simple problem. A filesystem lock, preferably using the directory or symlink trick (but flock() is fun too, if you're into that sort of thing), is clearly the solution to go with here. Jp -- http://mail.python.org/mailman/listinfo/python-list