CouchDB - непрерывная подача с использованием jQuery - PullRequest
1 голос
/ 02 июля 2011

Прочитав подобные вопросы здесь , мне интересно, возможно ли это вообще?

Я понимаю, что могу заставить работать нижеприведенное, обернув функцию setInterval, которая многократно вызывает функцию проверки изменений, но я бы предпочел использовать непрерывный опрос.

База данных регулярно обновляется каждую минуту в периоды пиковой нагрузки, но кажется бесполезным продолжать опрашивать базу данных в периоды непиковой нагрузки ...

$.getJSON('http://localhost:5984/db?callback=?', function(db) {
    console.log(db.update_seq);
    $.getJSON('http://localhost:5984/db/_changes?since='+db.update_seq+'&feed=continuous&callback=?', function(changes) {
        console.log(changes);
    });
}); 

Firebug показывает, когда изменение действительносделано, что-то происходит, но возвращается только null.

Я тоже в том же домене, вызываю страницу из localhost / index.php

1 Ответ

2 голосов
/ 02 июля 2011

Вместо того, чтобы использовать непрерывный или длинный опрос, вы могли бы вместо этого принять адаптивную стратегию. Возможно, начните с интервалом в 1 минуту. Если обновлений нет, до 2 минут, затем 3, 4, 5 и т. Д. Если есть обновления, интервал можно изменить, чтобы отразить время до следующего ожидаемого обновления.

По сути, все сводится к тому, насколько важно для вас получать уведомления об обновлениях практически в реальном времени, и насколько велика задержка, с которой вы готовы иметь дело.

...