node.js - 504网关超时错误NodeJs

标签 node.js http http-status-code-504 snowflake-cloud-data-platform

我有一个托管在 DC/OS 实例中的应用程序,该应用程序查询雪花数据库并获取结果。我正在使用 snowflake sdk为了查询雪花数据库,我们还流式传输我们从雪花获得的结果。

 var statement = connection.execute({
          sqlText: sql,
          complete: function (err, stmt, rows) {
    var stream = stmt.streamRows();
                  callback(err, stream, response);
}}

但是如果查询很大并且在雪花中查询处理需要时间,我会在我的客户端收到 504 网关超时错误。虽然 Node 服务仍在运行,但假设我从浏览器/ postman 访问 DC/OS 我会得到 504 超时此处出错,但雪花将结果返回到我的 Node 服务。避免它的正确策略是什么?
尽管我的 Node 服务仍然保持与雪花的连接并从雪花获取结果,但这是我从服务器获取到我的客户端的错误。

最佳答案

你能检查一下你的语句超时设置是什么吗?
你可以试试以下方法:
https://docs.snowflake.com/en/sql-reference/sql/alter-user.html

# set timeout to 15 minutes
alter user USERNAME set STATEMENT_TIMEOUT_IN_SECONDS = 900;
https://docs.snowflake.com/en/sql-reference/sql/alter-session.html
STATEMENT_TIMEOUT_IN_SECONDS =
例子
将 session 中执行的语句的锁定超时设置为 1 小时(3600 秒):
alter session set STATEMENT_TIMEOUT_IN_SECONDS = 3600;
将 session 中执行的语句的锁定超时设置回默认值:
alter session unset STATEMENT_TIMEOUT_IN_SECONDS;
你联系过雪花支持吗?

关于node.js - 504网关超时错误NodeJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47219470/

相关文章:

java - Java 中的 HTTP 多部分类

php - 504 网关超时媒体殿

python - HTTP 错误 504 : Gateway Time-out when trying to read a reddit comments post

带有 Twisted 或 Node.js 的 Python

node.js - Nodejs + Expressjs + EJS + Mongodb

javascript - 如何在对象字符串中插入单个反斜杠?

http - 在 Camel HTTP4 中使用包含下划线的 URI

不允许返回消息正文的 HTTP 状态代码

javascript - Node/Express API 路由中正确且可持续的错误处理方式

node.js - 使用 Express API 和 ytdl 下载音频文件