Google app engine 应用程序引擎Python模块和入站邮件服务
我正在python项目中使用应用程序引擎模块。() 我还在m项目中收到电子邮件: 我想将电子邮件发送到我的工作模块,而不是默认模块。为此,my worker.yaml具有以下设置 亚马尔Google app engine 应用程序引擎Python模块和入站邮件服务,google-app-engine,email,python-2.7,module,channel-api,Google App Engine,Email,Python 2.7,Module,Channel Api,我正在python项目中使用应用程序引擎模块。() 我还在m项目中收到电子邮件: 我想将电子邮件发送到我的工作模块,而不是默认模块。为此,my worker.yaml具有以下设置 亚马尔 api_version: 1 application: integrate module: worker version: 1-0-0 runtime: python27 threadsafe: true inbound_services: -
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
我甚至试着添加一个调度。yaml
application: integrate
dispatch:
- url: "*/_ah/mail/.+"
module: worker
但无论我做什么,到达我的应用程序的电子邮件都由默认模块处理。你知道我在这里遗漏了什么吗?我看到电子邮件进入,但无论我做什么,它们都只进入默认模块。入站服务只能在默认模块内使用,这是预期行为。事实上,它在devserver中为您在本地工作是一个bug。关于答案的一些附加信息可能会帮助处于类似情况的人们 我在DevServer日志中注意到: “跳过dispatch.yaml规则,因为/\u ah/mail/[EMAIL\u ADDRESS\u FOR\u APP]不是可分派的路径。” 然而,这无疑是由于本地配置 无论如何,我现在使用Tasks的变通方法是:
- 在默认模块中分派或直接处理入站邮件
- 提供一个脚本处理程序,用于创建任务,并将相关的邮件数据作为有效负载
- 将queue.yaml中的TaskQueue设置为您希望处理有效负载数据的模块,例如“worker”模块