雪花 python 连接器 - apache mod_wgsi 响应问题

时间:2021-02-20 20:54:22

标签: python apache snowflake-cloud-data-platform mod-wsgi

从我的 Web UI 来看,Snowflake sql 通过 apache 和 mod_wsgi 查询没有返回结果,网页只是挂起。然而来自其他数据库的查询将结果返回到前端,只有雪花查询不起作用。 同样的雪花sql查询通过开发本地服务器(werkzeug)返回结果

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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

所以我的建议是 (1) 在 Google Cloud 实例上尝试一下。或者尝试(2)安装 nginx + uWSGI 而不是 apache + mod_wgsi。由于我无法在 prod 上支付 Google Cloud 实例的费用,因此我将自己尝试 nginx + uWSGI。

我也同意主题 starter 的观点,即它根本与代码无关。 虽然我也同意上述 Simon Darr 和 Felipe Hoffa 的评论:Snowflake 家伙无论如何都需要一些代码来重现。