【问题标题】:FetchError: request to https://db.fauna.com/ failed, reason: write EPIPEFetchError:对 https://db.fauna.com/ 的请求失败,原因:写 EPIPE
【发布时间】:2021-01-18 12:08:59
【问题描述】:

我正在尝试使用访问 FaunaDB 的 Netlify 函数启动我的新 Web 应用程序,虽然它似乎在本地工作得很好(通过 netlify 开发),但当它在线时,感觉每次对数据库的第三次调用都失败并出现以下错误:

FetchError: request to https://db.fauna.com/ failed, reason: write EPIPE
at ClientRequest.<anonymous> (/var/task/src/node_modules/faunadb/node_modules/node-fetch/lib/index.js:1461:11)
at ClientRequest.emit (events.js:315:20)
at TLSSocket.socketErrorListener (_http_client.js:426:9)
at TLSSocket.emit (events.js:315:20)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  type: 'system',
  errno: 'EPIPE',
  code: 'EPIPE'
}

我不知道这意味着什么,或者我可能做错了什么,或者如何解决它。似乎是在 Fauna 这边。

所有执行对 Fauna 的调用的“服务器端代码”都在各种 Netlify 函数中(我猜这些函数只是封装了 AWS Lambdas)。各种不同的函数调用碰到不同的 Netlify 函数都会产生这个错误,而不仅仅是一个。

【问题讨论】:

    标签: javascript netlify faunadb netlify-function


    【解决方案1】:

    您收到的错误可能是由类似于从 AWS Lambda 函数查询 FaunaDB 的问题引起的:https://docs.fauna.com/fauna/current/drivers/known_issues

    基本上,支持您的函数的 Netlify 函数上下文可能并不总是在运行。如果是这种情况,当执行上下文恢复并尝试下一个查询时,存储在 FaunaDB 驱动程序的客户端对象中的连接状态可能会过时。

    典型的解决方案是在主处理程序逻辑中创建客户端对象并执行您的查询,而不是在初始化逻辑中。

    我不知道这个答案是否对你的情况有帮助。如果是,请告诉我,我们可以更新 Fauna 文档中的指南。

    【讨论】:

      猜你喜欢
      • 2019-09-13
      • 2021-06-20
      • 2021-09-29
      • 2021-06-19
      • 2019-08-09
      • 1970-01-01
      • 2023-01-26
      • 2020-09-14
      • 2020-01-28
      相关资源
      最近更新 更多