[Mongrel] Comet/Continuations/Armeggedon

Daniel Burkes dburkes at infoteria.com
Tue Jun 6 18:17:21 EDT 2006


Hello all-

Forgive me if this has been discussed before- I searched the archives  
and didn't see anything.  Anyway, here it goes-

There is a lot of talk lately about Comet-based applications- that  
is, web apps that hold connections to the server open for a very long  
time, to effectively achieve realtime data push from the server to  
the browser.  Currently, there are a few web servers out there that  
are specially architected to support this- Twisted and Jetty 6 come  
to mind.  The problem with those solutions is that neither of them is  
natively Ruby/Rails- you have to step into Python-land or Java-land  
there.  What would really be nice is if Mongrel supported long-lived  
connections by separating the notion of a serviceable request from a  
thread or process.  That is, be able to suspend a request until it is  
resumed by some other request, or by timeout, a-la Jetty 6's  
Continuations (they're really nice!).

Has there been any thought or discussion to adding such a feature to  
Mongrel?  I realize it probably seems a bit pie-in-the-sky at  
present, but it could really enable some exciting new types of in- 
browser applications.  Combined with all the innovation that is going  
into Rails apps now, it could produce some really thrilling  
applications.

I know that there is some talk around about something called  
"Armageddon", which I believe achieves basically the same end, but  
requires Flash on the client side to manage the backchannel socket.   
In any case, the requirements on the server side for tolerating huge  
numbers of idle connections are similar.

Any thoughts or comments are appreciated.

Best Regards,

Danny Burkes





More information about the Mongrel-users mailing list