Re: [Zope-dev] non-zodb persistent registries
Tres Seaver wrote: The reason being that, for a long time, I've wanted to see a persistent registry that stored in a rdb rather than zodb. I don't know what that would look like. I have ideas about what I'd like it to look like from a user's perspective, but sadly not much in the way of code, rdb schema, etc... However, I'm a bit stumped at how to implement this and certainly having the zodb-based registry mixed in with the zope.component code confused the hell out of me when I last looked. The one that particularly got me was how, in a multi-process/multi-thread setup such as a wsgi app, you would get other threads'/processes' registries to update themselves when a registry in one thread/process was changed. Any ideas how to do this? Nope. I've never given it any thought. I have, and as a result I'd happilly *pay* someone else to develop a decent solution ;-) We do actually have this problem with the text-file based registry, it's just that we accept a restart of the server is needed when that text file changes. A nice to have would be an equivalent of apache's reload command. I don't actually understand the usecase: changing configure.zcml is a development activity, not a sysadmin one. Yeah yeah, whatever ;-) I'm a developer, and I edit httpd.conf plenty, I think this distinction is pretty meaningless... Is anyone else interested in this kind of stuff? Theoretically, yes. Practically, no: I'd rather keep my startup times under a second. ;) Well, what I really care about doesn't actually have to do with startup times. I'd like sub-second startup times too, but I'd also like to have an ISite (what a horrible, wrong name :-S) implementation that worked in a multi-threaded and/or multi-process environment and didn't store its data in ZODB. I'd *also* like: a = root.siteA.objecta b = root.siteB.objectb a.__class__ is b.__class__ True adapter1 = getAdapter(a,ISomething,context=a) adapter2 = getAdapter(b,ISomething,context=b) adapter1.__class__ == adapter2.__class__ False ...if you see what I mean? (ie: adapter lookup based on object traversal path rather than some notion of current overall request traversal path, which doesn't make sense if siteA and siteB register different ISomething adapters for a.__class__. Of course, having ISomething(a) and ISomething(b) do this would be super super cool ;-) As I said, I'm prepared to pay for anyone who can make this happen :-) cheers, Chris ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] non-zodb persistent registries
Hey Tres, Tres Seaver wrote: 2. Move the persistent registry stuff out into another package, including whatever support is needed to allow for people to migrate existing persistent references. Effectively, this moves one extra out to a package, *including* its testing dependencies. zope.persistentregistry (BIKESHED NAMING ALERT) depends on: - zope.configuration - ZODB3 I was interested to see this for the reason I gave in the subject line, and it might affect the naming of this package... Might I suggest zope.zodbregistry for this? The reason being that, for a long time, I've wanted to see a persistent registry that stored in a rdb rather than zodb. However, I'm a bit stumped at how to implement this and certainly having the zodb-based registry mixed in with the zope.component code confused the hell out of me when I last looked. The one that particularly got me was how, in a multi-process/multi-thread setup such as a wsgi app, you would get other threads'/processes' registries to update themselves when a registry in one thread/process was changed. Any ideas how to do this? We do actually have this problem with the text-file based registry, it's just that we accept a restart of the server is needed when that text file changes. A nice to have would be an equivalent of apache's reload command. Is anyone else interested in this kind of stuff? cheers, Chris -- Simplistix - Content Management, Zope Python Consulting - http://www.simplistix.co.uk ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] non-zodb persistent registries
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Chris Withers wrote: Hey Tres, Tres Seaver wrote: 2. Move the persistent registry stuff out into another package, including whatever support is needed to allow for people to migrate existing persistent references. Effectively, this moves one extra out to a package, *including* its testing dependencies. zope.persistentregistry (BIKESHED NAMING ALERT) depends on: - zope.configuration - ZODB3 I was interested to see this for the reason I gave in the subject line, and it might affect the naming of this package... Might I suggest zope.zodbregistry for this? The reason being that, for a long time, I've wanted to see a persistent registry that stored in a rdb rather than zodb. I don't know what that would look like. I note that the bfg application registry is actually picklable, because we don't use any non-inert actions. The expected gain in startup time turned out to be negligible, so we don't worry about trying to do this any more. However, I'm a bit stumped at how to implement this and certainly having the zodb-based registry mixed in with the zope.component code confused the hell out of me when I last looked. The one that particularly got me was how, in a multi-process/multi-thread setup such as a wsgi app, you would get other threads'/processes' registries to update themselves when a registry in one thread/process was changed. Any ideas how to do this? Nope. I've never given it any thought. We do actually have this problem with the text-file based registry, it's just that we accept a restart of the server is needed when that text file changes. A nice to have would be an equivalent of apache's reload command. I don't actually understand the usecase: changing configure.zcml is a development activity, not a sysadmin one. Is anyone else interested in this kind of stuff? Theoretically, yes. Practically, no: I'd rather keep my startup times under a second. ;) Tres. - -- === Tres Seaver +1 540-429-0999 tsea...@palladion.com Palladion Software Excellence by Designhttp://palladion.com -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFJsIo7+gerLs4ltQ4RAg+TAKDCdIvtEqka6uvc8wKiXDZlBsQ35wCcCh/J 4tlunsHE7rKC9Wu5vEjAGio= =i8kO -END PGP SIGNATURE- ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )