我正在尝试移植到谷歌应用引擎模块,这是一项以前长期运行的工作(在'后端'中运行)。
下面有一个示例module1.yaml。
application: myuniqueapp
module: module1
version: 1
runtime: python27
api_version: 1
threadsafe: true
instance_class: F4_1G
automatic_scaling:
max_idle_instances: 1
handlers:
- url: /data
static_dir: data
application_readable: true
- url: /.*
script: app.application
通过taskqueue提交给此(来自前端实例)的代码是:
taskqueue.add(url='/tasks/do_my_task',
target='1.module1')
这提交了没有问题的正确任务。任务也由module1执行。
但它在第10分钟被DeadlineExceededError杀死。这是一个长期运行的任务,运行时间超过10分钟(就像以前的'后端'一样)。
需要对模块中执行的任务进行哪些配置更改> 10分钟 ?
答案 0 :(得分:4)
您只需为模块选择手动或基本缩放:
https://developers.google.com/appengine/docs/java/modules/#Java_Instance_scaling_and_class
答案 1 :(得分:1)
您可以选择几种方法,但目前尚无法解决App Engine自动缩放模块的10分钟请求截止时间。简而言之,您需要使任务运行更快,或者需要在没有期限的服务上运行它。
更快:
没有截止日期:
答案 2 :(得分:0)
Google appengine还提供了可以在24小时内运行任务的backinstance类。重新路由任务请求以在backinstance上运行可以解决10分钟的问题。希望这可以解决您的问题