繁体   English   中英

PouchDB - 实时同步有时会卡住?

[英]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

我们已经检查过:

  • 会话超时
  • 设备是否离线
  • 记录所有 PouchDb 事件
  • 不使用反向代理

希望有人可以解决这个问题。

感谢 LyteFM。 他的评论帮助我们隔离了问题。 我们有 3.3.0 之前的 CouchDB 版本。 将 CouchDB 升级到 3.3.1 解决了我们的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM