一次一个实例一请求App Engine灵活

San*_*ain 3 amazon-web-services node.js express google-cloud-platform google-cloud-tasks

我在用

  • App Engine灵活的自定义运行时。
  • nodejs,作为基础映像。
  • 表示
  • 用于排队请求的Cloud Tasks
  • 操纵人的工作

我的要求

  • 20GB RAM
  • 长时间运行的过程

由于我的独特要求,我希望1个请求只能由1个实例处理。当它免费或请求超时时,只有这样它才应该收到一个新请求。在实例处理1个请求时,我设法拒绝了其他请求,但无法找出适当的自动缩放设置。

请提出实现此目标的最佳方法。提前致谢!

Ave*_*sch 5

app.yaml尝试限制max_instances和时max_concurrent_requests

我还建议您研究限制 Cloud Tasks队列的速率,以减少不必要的发送请求尝试。您可能还需要增加MIN_INTERVAL重试摊开请求以及。

您的任务队列将继续按照您设置的速率处理和发送任务,因此,如果您的实例拒绝该请求,它将进入重试模式。似乎您专注于App Engine的扩展,但是您遇到的问题是Cloud Tasks。您可能需要安排任务,以便它们按您想要的时间间隔执行。