我在我的python项目中使用App Engine模块。 (https://developers.google.com/appengine/docs/python/modules/#Python_Background_threads)
我也在m项目中收到电子邮件: https://developers.google.com/appengine/docs/python/mail/receivingmail
我想将电子邮件定向到我的工作模块,而不是默认模块。为此,我的worker.yaml具有以下设置
worker.yaml
api_version: 1
application: integrate
module: worker
version: 1-0-0
runtime: python27
threadsafe: true
inbound_services:
- mail
builtins:
- deferred: on
handlers:
- url: /admin/.+
script: src.worker.main.app
login: admin
- url: /_ah/mail/.+
script: src.worker.main.app
login: admin
- url: /.*
script: src.worker.main.app
的app.yaml
api_version: 1
application: integrate
version: 1-0-0
runtime: python27
threadsafe: true
builtins:
- deferred: on
handlers:
- url: /admin/.+
script: src.default.main.app
login: admin
- url: /.*
script: src.default.main.app
我甚至尝试添加dispatch.yaml
application: integrate
dispatch:
- url: "*/_ah/mail/.+"
module: worker
但无论我做什么,到达我的应用程序的电子邮件都由默认模块处理。知道我在这里缺少什么吗?我看到电子邮件进来但无论我做什么,他们只会进入默认模块。
答案 0 :(得分:4)
入站服务只能在默认模块中使用,这是预期的行为。事实上,它在devserver中本地工作是一个错误。
答案 1 :(得分:-1)
答案的一些额外信息可能会帮助处于类似情况的人。
我在DevServer日志中注意到了:
“跳过dispatch.yaml规则,因为/ _ah / mail / [EMAIL_ADDRESS_FOR_APP]不是可分派的路径。”
然而,这无疑是由于本地配置。
无论如何,我现在使用任务的解决方法是: