

Telegraphy: Real-time events for WSGI Python applications - fisadev
http://telegraphy.machinalis.com/

======
nkuttler
I think this link
[http://telegraphy.readthedocs.org/en/latest/intro.html](http://telegraphy.readthedocs.org/en/latest/intro.html)
is far more informative than op's. I had no idea what telegraphy was after
reading the posted link.

~~~
jessaustin
Yeah the architecture diagram helps out a lot. The _XML-RPC_ link from the app
to the gateway seems a bit old-fashioned. Is that common in Django?

~~~
simonw
Not at all - I don't think I've ever seen XML-RPC used in a Django project or
library. It's more common in the Twisted world though, and this project's
default implementation uses Twisted.

------
jaegerpicker
This seems to really help bridge a gap in django's toolbox. Working with async
actions with pretty much anything other than celery processes is pretty
painful. That said I'm not sure I'm a huge fan of tying the events directly to
the models, I think I'd rather be able to define the events separately and
call the event-firing methods via on save / on delete model methods if I
wanted to the model to fire events. Seems a lot more flexible to break that
apart so I can reuse the events or fire those events from somewhere other the
models if needed. I bet there is a way to do this already in the project I
just haven't had enough time to piece it together yet.

~~~
e12e
D3f0: FYI, you're dead. No indication in your posting history as to why.

------
akoumjian
Sounds cool. I have also been thinking about developing a ready-made Django
skeleton with an architecture similar to this. Our publishing looks like this:
Django -> Redis -> Express.js -> Browser

Redis really just serves as our bridge, the actual pub/sub happens in
socket.io in the express app. The coolest part of this is that when a Django
model is updated, we serialize it to its API representation, send that through
the wire. On the client, the Backbone model is bound to this event and updates
in place.

------
andyl
Is there something like this for Rails?

~~~
netghost
Yeah I think so if I grok what this is doing...

One interesting approach I came across recently was:
[https://github.com/chrismccord/sync](https://github.com/chrismccord/sync)

------
dlitvakb
Congratulations to my friends from machinalis for making it to the top of HN!

