2016-06-10 3 views
3

У меня есть эта структураpouchdb и couchbase синхронизации шлюза

< сервер Couchbase ---> Шлюз кушетка синхронизации < ---> pouchdb

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

enter image description here

эти ошибки используют много памяти (моя вкладка хром использует около 800 Мб памяти через 20 минут) Как я могу предотвратить это? Проблема заключается в том, что в моем Javascript мой конфиг является

var syncOptions = { 
    live: true, 
    retry: true 
}; 
var localDB = new PouchDB("building"); 
var remoteDB = new PouchDB("http://xxx.azure.com:4984/building"); 
localDB.sync(remoteDB, syncOptions); 

Если установить «повторить» значение ложно нет никаких проблем, но живая синхронизация не работает, если установить «повторить» значение истина моя страница генерирует около 4 ошибок каждую секунду (потому что я синхронизирую 4 базы данных) Что я могу сделать? Благодаря

EDIT

Я использую pouchdb-5.4.1.js

+1

Они на самом деле не ошибки; как говорится в сообщении, PouchDB просто проверяет сохраненную контрольную точку репликации на сервере, и браузер заканчивает регистрацию ошибки для статуса ответа 404, когда ее нет. Это должно произойти только при первой репликации; после этого PouchDB сохраняет контрольную точку, и журналы больше не должны возникать. Это похоже на что-то вроде PouchDB, о котором я мало что знаю (я работаю над Couchbase Mobile.) –

+0

Да, я знаю, что на самом деле это не ошибки, но эти «не ошибки» похожи на жаждущую суку ... У меня много проблем, потому что приложение непригодно ... есть ли хорошая альтернатива pouchdb для синхронизации сервера-клиента? Спасибо –

+0

Если вы хотите что-то, что будет работать на обычной веб-странице, PouchDB - единственный вариант, о котором я знаю. Если вы можете использовать контейнер приложения, например PhoneGap, вы можете использовать плагин Couchbase Lite. –

ответ

-1

Как следует из консоли, это не ошибки (я имею в виду, они есть, но, что совершенно нормально .) Почему это происходит, потому что PouchDB официально не поддерживается Couchbase sync Gateway. Таким образом, чтобы обеспечить эффективную поддержку, PouchDB создает собственные вехи на сервере Couchbase. Как правило, вы должны видеть много ошибок на пути «_local», «_bulk_get» и «_all_docs». Это связано с проблемами интеграции с Couchbase Sync Gateway и PouchDB. Но вам не о чем беспокоиться, если вы правильно написали свою синхронизацию. Он должен выполнить свою работу, хотя и не так эффективно, как мы хотим.