BoboPOS file locking
Right now, if the database is locked by a process, no other process can (or should for fear of curruption) access it. I was wondering if there is any progress on making BoboPOS databases accessible from multiple processes? Is anyone working on addressing this at all? I know I've brought this up on this list before, but never quite got a definitve answer... :) Grisha Trubetskoy
Gregory Trubetskoy wrote:
Right now, if the database is locked by a process, no other process can (or should for fear of curruption) access it.
Correct. I believe 1.10 actually does this correctly on Windows now.
I was wondering if there is any progress on making BoboPOS databases accessible from multiple processes? Is anyone working on addressing this at all?
In fact there is a paper already written on this. Unfortunatley the link is currently broken...artifact of our ongoing move to a good ISP (CodeIt). Anyway, in October Jim Fulton released an alpha of the next generation of the database. This next version will gain concurrency by making each request have its own copy of the transaction space (up to a limit). It will also allow storage in a relational database, thus providing an object system spread across multiple processes and machines. I believe Jim might also provide multiple process support with just the filesystem storage option, or perhaps use something like bsddb. Fortunately the other half of concurrency -- the object publishing part -- has been done now. Jim was *scheduled* to get back to it this month but a customer project pushed completion of Zope Classes ahead of the database work. When the database work is done, we'll have Zope 2. --Paul
Hi, I'm still on 1.9, and missing a concept... I have defined an addPersonForm that works just like I want, which I execute by http://localhost:9673/SVC/addPersonForm. I have a ZSQL method named addPerson that has arguments: name, addr, city, state, zip and phone, which works fine by itself (it prompts for the info)... In addPersonForm, the POST method is addPerson... but (now you're chuckling I'm sure ;-) as you know, the doggone addPerson isn't using the stuff that addPersonForm collected... I've read through (some skimming I'll admit) all of the docs that I can get my hands on, and have resorted to asking... FWIW, I am thinking that ZSQL methods are the way to go, since they hook up to the db connection instance... I'm willing to hack the SQL stuff that I need in an "external method" (although I haven't done that) but am reluctant to go that way since I don't know how to access the Zope DB connection from an external method (I don't know enough to use the Z*DA guys directly I guess is my problem??) TIA. -- Cheers, --ldl ----------------------------------------------------------------------------- LD Landis ldl@HealthPartners.Com N0YRQ Voice 612/883-5511 Fax 612/883-6363 HealthPartners, 8100 34th Avenue So, PO Box 1309, Minneapolis, MN 55440-1309 Shape your life not from your memories, but from your hopes. (Borrowed) -----------------------------------------------------------------------------
participants (3)
-
Gregory Trubetskoy -
LD Landis -
Paul Everitt