PouchDB — остановить живую репликацию

После настройки continuous (живой) репликации в PouchDB, как мне найти их (например, активные задачи для _replicate или _replicator в CouchDB)?

Вернее, как их отменить?


person Daniel    schedule 17.05.2014    source источник


Ответы (2)


Другой вариант — использовать pouchdb-persist, после чего вы можете:

var db = new PouchDB('todos');
var persist = db.persist({ url: 'http://localhost:5984/todos' });

а потом позже:

persist.stop();

а потом позже:

persist.start();

Или, в зависимости от вашего варианта использования, вы можете просто использовать функциональность по умолчанию pouchdb-persist.

person redgeoff    schedule 10.10.2014

Псевдокод:

var from = db.replicate.from (remoteDB, { live : true });

из.отменить();

person andrea.lagala    schedule 20.05.2014
comment
спасибо, да, а если у вас нет доступа к результату функции репликации? Больше похоже на получение текущих репликаций? - person Daniel; 20.05.2014
comment
В настоящее время нет возможности сделать это. Но поскольку аналог существует в CouchDB, я думаю, нам было бы интересно реализовать PouchDB.getActiveTasks() или что-то в этом роде. - person nlawson; 22.05.2014
comment
Привет, Нолан, действительно ли cancel() останавливает репликацию (и очищает задачи и выделенные ресурсы) или только прекращает получать уведомления/изменения репликации? Причина вопроса в том, что мне нужно запустить непрерывную репликацию и остановить ее, когда устройство (это мобильное приложение) подключается к сети или отключается соответственно. Эти события происходят время от времени, и кажется, что ресурсы репликации не освобождаются — это также может быть ошибка моего приложения, которое все еще исследуется. - person andrea.lagala; 24.05.2014
comment
pouchdb.com/api.html#replication : 'Этот метод возвращает объект методом cancel() , который вы вызываете, если хотите отменить живую репликацию. - person sean; 28.04.2018