couchdb - 列出 couchdb 1.1.0 中的事件复制

标签 couchdb

我通过 POST 到 localhost:5984/_replicate 来引导 couchdb 中的复制。此 URL 仅接受 POST 请求。

还有第二个 URL:localhost:5984/_replicator,它接受 PUT、GET 和 DELETE 请求。

当我将复制 POSTing 配置为 _replicate 时,它​​会启动,但我无法获取有关它的信息。它也没有列在 _replicator 中。

  • 如何获取事件复制列表?
  • 如何取消事件复制?

编辑:如何使用 _replicator 方法触发复制。

感谢 JasonSmith 的评论,我得到了以下解决方案:PUTting to _replicator 需要使用目标数据库的完整 url(包括身份验证凭据)。使用 _replicate url 时情况并非如此,它很高兴只获得目标数据库的名称(我在这里谈论的是拉复制)。据我所知,原因已解释here (请参阅第 8 节“user_ctx 属性和委托(delegate)”)

最佳答案

最初的 API 是一个特殊的 URL,/_replicate,您可以在其中告诉 Couch 要做什么,它会告诉您结果。然而,较新的系统是一个常规数据库,称为 /_replicator,您可以在其中创建文档,告诉 Couch 要做什么。文档格式与旧的 _replicate 格式相同,但是 CouchDB 将在复制过程中更新文档。 (例如,它会添加一个字段"state":"triggered""state":"complete"等)

要获取事件复制列表,请以服务器管理员身份获取 /_active_tasks。例如(格式化):

curl http://admin:secret@localhost:5984/_active_tasks
[ { "type": "Replication"
  , "task": "`1bea06f0596c0fe6a1371af473a95aea+create_target`: `http://jhs.iriscouch.com/iris/` -> `iris`"
  , "started_on": 1315877897
  , "updated_on": 1315877898
  , "status": "Processed 83 / 119 changes"
  , "pid": "<0.224.0>"
  }

, { "type": "Replication"
  , // ... etc ...
  }
]

维基百科有关于 cancel CouchDB replication 的说明。基本上,您希望指定相同的源和目标,并添加 "cancel":true

关于couchdb - 列出 couchdb 1.1.0 中的事件复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7395259/

相关文章:

CouchDB View 和设计文档

ios - iOS9 上的适配器丢失错误 - PouchDB

windows - 除了在 win7 x64 上执行 View 外,CouchDB 安装一切正常

javascript - 将数据从 PouchDb 复制到 CouchDb 时失败

添加 cache.manifest 时,AngularJS/PouchDB 应用程序停止同步到 CouchDB

来自 ektorp/couchdb 的 JSON 响应

javascript - Couchbase 与 Cloudant CouchDB——reduce 中与 Javascript 的差异

Couchdb Mango 性能与 MapReduce View 的比较

angularjs - 使用angularjs将数据插入couchdb

ibm-cloud - CouchDB MapReduce View 有多灵活?