繁体   English   中英

在 Google App Engine 上发送“内部”http 请求

[英]Send an “internal” http request on Google App Engine

我用蓝图构建了一个 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。

作为记录。

问题是 memory。 该实例只是一个 F1 小实例,似乎一次只能处理一个请求。 因此,当执行 http 请求时,该请求显然会启动一个新实例,尽管这会变慢,因此请求会占用我们的时间或被终止,因为实例用完了 memory。

解决方案很简单:增加实例大小或在同一服务内不使用 http 请求。

第二个可能的问题可能是@login_required。 不确定 session 处理如何在 GAE 上跨多个实例进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM