google-app-engine - 在 Google App Engine 上发送“内部”http 请求
问题描述
我用蓝图构建了一个 Flask 应用程序。我想在不同的蓝图之间进行 http 调用,这似乎不起作用。请求不断超时。
不能在 Google App Engine 服务中进行 http 调用吗?
这是我的设置:
Blueprint 1
requests.post(url_for('asana_bp.create_task', _external=True), json=payload)
Blueprint 2
@asana_bp.route("/create", methods=["POST"])
@login_required
def create_task():
data = request.get_json()
return create_asana_task(message=data['message'], title=data['title'])
但这只是行不通。收到 502 错误。它工作得很好。url_for 正确创建 URL。
解决方案
作为记录。
问题是记忆。该实例只是一个 F1 小实例,似乎一次只能处理一个请求。因此,当执行一个显然会启动一个新实例的 http 请求时,虽然速度很慢,所以请求会超时,或者因为实例内存不足而被杀死。
解决方案很简单:增加实例大小或者在同一服务中不使用 http 请求。
第二个可能的问题可能是@login_required。不确定如何在 GAE 上跨多个实例进行会话处理。
推荐阅读
- asp-classic - 如何为asp经典应用程序创建ldap授权
- reactjs - TypeError:无法读取未定义/XML 的属性“setState”
- android - VS Appcenter 还需要 fastlane 吗?
- java - 如何将 Google 的 DateTime 对象转换为长类型值?
- android - 如何在android 9中允许Http
- api - 如何使用身份验证令牌从 CATSone API 中提取数据?
- react-native - 无法从领域数据库架构中获取值
- .net - 带有等待 httpClient 的异步调用不起作用
- r - 预测和错误的R编程错误是predict.svm:测试数据与模型不匹配
- android-studio - 使用具有某些网络类型的 AS Emulator 进行测试时,应用程序无法正常工作