[Web-SIG] Web Site Process Bus
Ian Bicking
ianb at colorstudy.com
Mon Jun 25 23:42:16 CEST 2007
Phillip J. Eby wrote:
> At 02:28 PM 6/25/2007 -0500, Ian Bicking wrote:
>> Potentially a Zope-style minimal event framework would work. Maybe
>> something like:
>>
>> send_signal(signal_name, signal_data)
>> subscribe(signal_name, listener)
>
> That was what I was wondering, too, except I was thinking it would be
> sufficient to use entry points for subscription, but only invoke the
> entry points whose modules are in sys.modules. In other words, never
> actually import a module in order to invoke a callback. That way,
> subscription is a natural side effect of importing the modules that
> contain the listeners. Something like:
>
> def send_signal(group, name, *args, **kw):
> for ep in iter_entry_points(group, name):
> if ep.module_name in sys.modules:
> ep.load()(*args, **kw)
I don't think that makes sense for this case. The way I imagine using
it is:
class MyApplication(object):
def __init__(self, db):
self.db = db
subscribe('reload_resources', self.reload)
def reload(self, data=None):
self.db.close()
self.db.open()
That is, I subscribe one particular thing when it is applicable, not
because the library is on the system.
--
Ian Bicking | ianb at colorstudy.com | http://blog.ianbicking.org
| Write code, do good | http://topp.openplans.org/careers
More information about the Web-SIG
mailing list