progress-bar - 复制成功后,两个CouchDB数据库是否保证具有相同的序列号?

标签 progress-bar couchdb database-replication pouchdb

我正在致力于实现一个进度条,以显示远程 CouchDB 数据库和本地浏览器托管的 PouchDB 数据库之间的复制进度。

目前,我使用每个数据库中的文档数量来确定进度百分比。但是,如果任一数据库中替换了大量记录,则此百分比进度就不准确。

我想使用一些其他值来显示复制进度。复制完成后,我可以指望已完成复制的两个数据库的序列号相同吗?

最佳答案

您可以使用active tasks您的案例的终点。除此之外,它还包括任务的进度百分比。例如,复制任务将如下所示

{
        "checkpointed_source_seq": 68585,
        "continuous": false,
        "doc_id": null,
        "doc_write_failures": 0,
        "docs_read": 4524,
        "docs_written": 4524,
        "missing_revisions_found": 4524,
        "pid": "<0.1538.5>",
        "progress": 44**,
        "replication_id": "9bc1727d74d49d9e157e260bb8bbd1d5",
        "revisions_checked": 4524,
        "source": "mailbox",
        "source_seq": 154419,
        "started_on": 1376116644,
        "target": "http://mailsrv:5984/mailbox",
        "type": "replication",
        "updated_on": 1376116651
    }

更新序列号特定于数据库。假设数据库中有 9 个文档,其 update_seq 为 17。update_seq 表示数据库已更新 17 次,即使文档数为 9。现在,如果将其复制到一个空的新数据库,则 update_seq新数据库的数量将为 9,因为它只更新了 9 次。由于新数据库为空,仅创建了 9 个新文档。

如果它包含一些文档,那么更新编号将会有所不同,具体取决于它们的_rev。因此不能依赖 update_seq 来计算复制操作的进度。

关于progress-bar - 复制成功后,两个CouchDB数据库是否保证具有相同的序列号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29218445/

相关文章:

java - 有没有办法显示另一个类中函数的进度?

python - PySide 和 QProgressBar 在不同的线程中更新

authentication - 绕过经过身份验证的 XmlHttpRequest 的同源策略

couchdb - 如何按时间戳返回最新记录?

mysql - 如何在 RDS 副本实例中创建临时表

java - 水平进度条添加圆形指示器

android - 进度条未在线程 android 中更新

couchdb - 如何在 couchdb 文档中生成部分唯一且连续的字段?

mongodb - 如何检查应用程序正在从 MongoDB 中的辅助节点读取?

mysql - 相互复制两个集群