0

我有一个dispatch.yaml文件应该将路径上的延迟任务队列请求/_ah/queue/deferred路由到具有更多内存的模块实例。但是,请求并没有始终如一地被路由。

有关延迟任务(它们是任务队列任务的子类型)的入门知识,请参阅此文档页面。

这是我的dispatch.yaml

dispatch:
- url: "*/_ah/queue/deferred"
  module: deferred

- url: "*/cron/*"
  module: deferred

- url: "*/ocr/cron/*"
  module: deferred

问题是,虽然上述调度文件似乎大部分时间都可以工作,但它并非一直都有效。也就是说,有时 get 上的请求/_ah/queue/deferred会路由到默认模块而不是延迟模块。

截图

这是我在“延迟”模块上的日志截图。请注意,延迟路径的 URL 已正确分派:

延迟模块的图像


但这是默认模块日志的屏幕截图。请注意,它也将这条路径路由到它: 默认模块的图像

4

1 回答 1

2

我猜你忘记添加了target

deferred.defer(dosomething, _target="deferred")

更多信息 https://cloud.google.com/appengine/docs/python/config/queue#target

相关问题 GAE backend instance with deferred

于 2015-05-13T23:33:44.507 回答