[英]PouchDB - Live sync got stuck, sometimes?
介绍
我们正在使用 PouchDB 7.2.1 将移动 PWA 与 CouchDB 同步以构建共享上下文。 为了实现这一点,我们使用 PouchDB 的双向同步方法。 在下面的代码片段中,您可以看到我们的参数。
PouchDB.sync(
POUCH_DB,
`${internalUrl}/couchdb/${POUCH_DB}`,
{
auth: {
username: username,
password: password
},
live: true,
retry: true
};
通信路径可以描述为:
PWA <---> Nginx(反向代理)<---> CouchDB(作为 Docker 容器)
问题描述
PouchDB 在 PC、iOS 和一些 Android 设备上运行良好。 时不时Android设备上的long pool request被冻结或者不断开,PouchDB停止了双向同步。 客户端不再接收任何更新。 以下片段显示了我们在反向代理 (nginx) 上收到的最后一个请求。
IP-Address - USER [17/Jan/2023:18:16:07 +0100] "GET /couchdb/dbname/_changes?style=all_docs&feed=longpoll&heartbeat=10000&since=...&limit=1
我们已经检查过:
希望有人可以解决这个问题。
感谢 LyteFM。 他的评论帮助我们隔离了问题。 我们有 3.3.0 之前的 CouchDB 版本。 将 CouchDB 升级到 3.3.1 解决了我们的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.