couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alan Bell <>
Subject Re: IMAP IDLE and realtime views
Date Thu, 20 Mar 2008 17:53:21 GMT
that sounds exactly what I was hoping for. No hurry on it, I just wanted 
to get it on the roadmap.


Damien Katz wrote:
> Triggering on view changes is going to be really difficult to get 
> right. It might happen in the future, but don't look for it anytime soon.
> But I think providing a COMET like http service for monitoring 
> database updates will get you most of the way there. The idea is the 
> client makes a request, but the server doesn't respond until something 
> n the database actually changes. I don't know about IMAP and IDLE and 
> if this will work for that, but this is what I had in mind.
> The first time you'd simply make an HTTP request, something like this:
> GET /dbname/_change
> And it returns the database update sequence #:
> {seq:3412}
> Then you'd query your views and display them to the user. To monitor 
> for changes, do a similar request with the last known seq #:
> GET /dbname/_change?seq=3412
> Then the server will hold that HTTP connection open, waiting for the 
> database to change to higher seq#. Once it changes, the server will 
> send the new seq# back to the client:
> {seq:3413}
> If the database already is a higher seq #, it returns the higher seq 
> back immediately. Then the client knows something has changed in the 
> database and can query the updated views.
> The problem is the client doesn't know what has changed, so it 
> generally will have to re-query all the open views.
> I just had an idea, the user could provide a javascript function in a 
> POST (instead of the above GET), and each updated document is fed into 
> that function. It's still a COMET request and the flow is the same, 
> except now only when the function returns true is the client is 
> alerted an interesting document has changed. That could make things 
> more efficient for the clients.
> -Damien
> On Mar 20, 2008, at 1:11 PM, Patrick Aljord wrote:
>> I think it's planned to be able to place "hooks" in views so that
>> every time a view is updated it can start a job such as "create
>> thumbnails for each new picture attachments with imagemagick" or
>> anything else really. For now you can use a cron job that check if a
>> view has been updated periodically and use jabber or anything that
>> makes the job.

View raw message