Snowflake python 连接器 - apache mod_wgsi 响应问题

Snowflake python connector - apache mod_wgsi response issue

在我的网站 UI 中,Snowflake sql 通过 apache 查询 & mod_wsgi 没有 return 结果,网页只是挂起。但是从其他数据库查询return结果到前端,只有雪花查询不行。 同一个雪花 sql 通过开发本地服务器 (werkzeug)

查询 return 结果

看起来像雪花 python 驱动程序与 Apache 的交互似乎是问题所在,考虑到其他数据库工作正常。如果您需要任何其他信息,请告诉我们。感谢您的关注

环境: AWS EC2 – 亚马逊 Linux 2 - centos rhel fedora 阿帕奇:2.4.46 mod-wsgi 4.7.1(生产 WSGI 服务器) Python:3.7.9 Werkzeug 1.0.1(使用 Flask 开发 wgsi 服务器) snowflake-connector-python 2.3.10(也试过 2.3.7)

感谢您的提问。只是想让你知道我遇到了同样的问题:雪花请求只是挂起 w/o 任何错误或警告(并最终在相当长的超时后停止我已经设置以避免它永远挂起)。我的配置与上面提到的完全相同;我也在几个 ubuntu 实例上尝试过,没有任何效果。

但我能够让它在 Google 云实例上运行;另一个问题是 google 云上的大量请求失败并出现“超出硬内存限制”错误;难怪,因为它是免费套餐。但令人难过的是,我们的管理层决定为 ec2 实例付费,而不是为 google 云非免费实例付费。所以我的自定义 Flask/Python APi 不能 return 巨大的 csv 结果文件,我考虑将其压缩作为一种解决方法(如果我们仍然继续在那里使用免费套餐)。

不能真正说出他们在 google 云上使用什么代替 mod_wsgi,但它确实有效。只是我的猜测,它是 nginx + uWSGI。相关的 reddit 主题:https://www.reddit.com/r/Python/comments/16tm4e/what_wsgi_servers_you_use/

所以我的建议是 (1) 在 Google 云实例上尝试。或者尝试 (2) 安装 nginx + uWSGI 而不是 apache + mod_wgsi。由于我无法支付 Google Cloud instance on prod,我准备自己尝试 nginx + uWSGI。

我也同意主题发起人的观点,即它与代码无关。 尽管我也同意上面 Simon Darr 和 Felipe Hoffa 的评论:Snowflake 家伙无论如何都需要一些代码来重现。