Spread should work nicely but I wouldn't ditch Pyro that easily either. Pyro works extremely well for this. I know because we've been using since it 2001 to implement many kinds of distributed processes including one similar to what you're describing. Our event management system consists of a daemon, the event manager, and a client library. Subscribers subscribe with the event manager by providing an event id and a callback. The callback is a pyro object with a "publish" method. When anybody publishes that event, the subscriber's callback gets invoked. Pyro includes an event manager in its distribution, which you can start using within minutes.
Now, the reason this work so well with Pyro is because it's extremely easy to add events and to format the event to be whatever you like because Pyro will automatically and transparently, serialize the objects you're sending as arguments. For example, the publisher could include several fully instantiated objects in the event, and the subscribers will get them as fully functional objects wherever they are executing on. The whole distribution part is transparent and automatic and you're 99% of the time just dealing with Python objects as if they were local. There are a few things that can't be pickled, such as sockets or anything that can only exist in one system but almost everything else is serializable and I guess eventually you'll want to learn and understand how Pyro works internally in order to scale to production environments,e.g., avoid leaking sockets, object name servers, high availability, fault tolerance, etc. I'm not saying you should use Pyro, but saying that events are not remote objects doesn't seem to me like a good reason to pass on it. -- Luis P Caamano Atlanta, GA USA --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-developers -~----------~----~----~----~------~----~------~--~---
