Re: [Zope] Can multiple processes access a ZODB3 file?
As Chris already stated (many times 4 effects:) ZODB is process locked. The question than becomes what kind of process interaction do you want with the zodb. most everything can be done by having hooks into zope and interacting with those hooks from your external python process. examples are a cronned mail script that checks emails and sends them into zope, an external document retrieval system that grabs new docs and sits them on a file system or inserts into ZODB via hooks, a python zope product that gives a corba interface to selected zope objects... basically anything python can touch. if you're python process needs to be more intimate with the zodb than it might require a bit more planning. what were you trying to do? generally for external interactions i use xml-rpc (if the data sets aren't huge), but you could also script a monitor session. Kapil Ross Boylan wrote: If I have Zope running, using ZODB3 on Data.fs, can a separate process also use ZODB3 to access Data.fs? I have my suspicions, but I'm not sure. I'm interested in this because I'm in the middle of a balloting period. People email me their ballots. I will need to check them for validity, send out confirmation or error messages, and eventually tally the results. I definitely want a persistent store, so ZODB seems good. Also, I eventually would like this to be a Zope product, with people able to access the results on the web (and, in the future, vote on the web). But getting it Zoped may be too much work in the short run. So, I'll have a Zope server running on my Debian system, and another process will be going through the mail. It would be more straightforwad if that other process worked directly with the database, rather than going through Zope via http or xml-rpc or something similar. So I'm wondering if that's possible. I can always take the indirect route if, as I suspect, that's necessary. I'm cribbing from parts of the Poll product as appropriate. The polling machinery is considerably more complex though: a restricted list of voters, various muckings around to get the info out of the email, and preference voting (1 for first choice, 2 for second, etc with an instant run off). I know Zeo is more in the multi-process space, but I don't want to use it for this project because I don't have time to learn it; it's alpha; and it seems like overkill for my problem. ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev ) ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Can multiple processes access a ZODB3 file?
Ross Boylan wrote: If I have Zope running, using ZODB3 on Data.fs, can a separate process also use ZODB3 to access Data.fs? I have my suspicions, but I'm not sure. I'm interested in this because I'm in the middle of a balloting period. People email me their ballots. I will need to check them for validity, send out confirmation or error messages, and eventually tally the results. [...] I know Zeo is more in the multi-process space, but I don't want to use it for this project because I don't have time to learn it; it's alpha; and it seems like overkill for my problem. Actually, AFAIK, ZEO is the only way to have multiple processes accessing a ZODb concurrently. There really isn't much to 'learning ZEO'. AMK has a good intro to using the ZODB, which has a ZEO section. I don't have the URL handy though ... wait, yes I do... http://starship.python.net/crew/amk/python/writing/zodb-zeo.html IMO, going the ZEO route would be easier than the xml-rpc route. YMMZ -- Do not meddle in the affairs of sysadmins, for they are easy to annoy, and have the root password. ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
RE: [Zope] Can multiple processes access a ZODB3 file?
The ZODB is generally process-locked. It's not possible, to my knowledge, to access it from different python processes simultaneously. To solve this, I'd highly encourage you to use ZEO, despite your desire not to use it. There's very little to learn with ZEO, and its proven very stable over the last few months. It works just like FileStorage, you just need to install it, edit a couple files, create a custom_zodb.py file in your software home and go. (all hail jim fulton!!) -Original Message- From: Ross Boylan [mailto:[EMAIL PROTECTED]] Sent: Friday, July 28, 2000 8:55 PM To: [EMAIL PROTECTED] Subject: [Zope] Can multiple processes access a ZODB3 file? If I have Zope running, using ZODB3 on Data.fs, can a separate process also use ZODB3 to access Data.fs? I have my suspicions, but I'm not sure. I'm interested in this because I'm in the middle of a balloting period. People email me their ballots. I will need to check them for validity, send out confirmation or error messages, and eventually tally the results. I definitely want a persistent store, so ZODB seems good. Also, I eventually would like this to be a Zope product, with people able to access the results on the web (and, in the future, vote on the web). But getting it Zoped may be too much work in the short run. So, I'll have a Zope server running on my Debian system, and another process will be going through the mail. It would be more straightforwad if that other process worked directly with the database, rather than going through Zope via http or xml-rpc or something similar. So I'm wondering if that's possible. I can always take the indirect route if, as I suspect, that's necessary. I'm cribbing from parts of the Poll product as appropriate. The polling machinery is considerably more complex though: a restricted list of voters, various muckings around to get the info out of the email, and preference voting (1 for first choice, 2 for second, etc with an instant run off). I know Zeo is more in the multi-process space, but I don't want to use it for this project because I don't have time to learn it; it's alpha; and it seems like overkill for my problem. ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev ) ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )