Определить временную метку репликации документов во время live syn c в Cloudant - PullRequest
2 голосов
/ 27 февраля 2020

Сейчас у меня есть транзакции синхронизации с клиентами, которые go часто отключены и онлайн. Это означает, что создание документа транзакции (когда он входит в пакет) не совпадает с точкой, в которой он введен в Couch.

Можно ли пометить эти документы меткой времени при подтверждении репликации? Я вижу, что существуют расширенные планировщики репликации, но флаг completed не применяется к динамической репликации, которую мы используем.

Я пытался пометить документ перед синхронизацией, но это не учитывает проблем сетевой задержки или внутренней задержки репликации. Это просто время, когда я запустил синхронизацию c этого документа, нет никаких обещаний, что он достиг этого момента в CouchDB.

1 Ответ

0 голосов
/ 29 февраля 2020

Вам потребуется использовать надстройку, такую ​​как spiegel (используя документы on_change для обратного вызова функции обновления ) или другой клиент (pouchdb?) Для наблюдения за фидом изменений и добавьте метку времени, когда он был доступен этому клиенту с couchdb (который может быть немного задержан).

Такой клиент будет подвергаться опасности создания бесконечного l oop, как указано в @Flimzy в комментарии, если только он не использует правило, чтобы не обновлять документы с существующими временными метками, чтобы он не записывал их при повторном запуске и, следовательно, прекращал повторную проверку. Шпигель имеет поддержку для такого правила и / или остановка бесконечного l oop может быть частью функции обновления.

...