#javascript #netlify #faunadb #netlify-function
#javascript #netlify #faunadb #netlify-функция
Вопрос:
Я пытаюсь запустить свое новое веб-приложение, используя функции Netlify, обращающиеся к FaunaDB, и, хотя кажется, что оно отлично работает локально (через netlify dev), когда оно подключено, кажется, что каждый 3-й вызов базы данных завершается ошибкой со следующей ошибкой:
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, находится в различных функциях Netlify (которые, я полагаю, просто завернуты в лямбды AWS). Эту ошибку генерируют различные вызовы различных функций, вызывающие разные функции Netlify, а не только одну конкретную.
Ответ №1:
Ошибка, которую вы получаете, может быть вызвана проблемой, аналогичной запросу FaunaDB из функций AWS Lambda: https://docs .fauna.com/fauna/current/drivers/known_issues
По сути, контекст функции Netlify, который поддерживает вашу функцию, может не всегда выполняться. В этом случае состояние соединения, сохраненное в клиентском объекте драйвера FaunaDB, может быть устаревшим при восстановлении контекста выполнения и попытке выполнения следующего запроса.
Типичным решением является создание объекта client и выполнение ваших запросов в логике основного обработчика, а не в логике инициализации.
Я не знаю, полезен ли этот ответ для вашей ситуации. Если это так, дайте мне знать, и мы сможем обновить руководство в документации Fauna .