【发布时间】:2020-05-17 21:20:40
【问题描述】:
我有一个 GAE/P/Standard/FirstGen 应用程序,它使用 Sendgrid 发送大量电子邮件。 Sendgrid 会向我的应用发送大量通知,告知电子邮件何时发送、打开等。
这就是我处理 Sendgrid 通知的方式:
- 我的处理程序处理 Sendgrid 通知并将任务添加到拉取队列
- 我大约每分钟从拉取队列中租用一批任务来处理它们。
这很好用,除非我发送的电子邮件比平时多。当我以高速率向拉取队列添加任务时,拉取队列拒绝租用任务(它以TransientError 响应),因此拉取队列不断填满。
扩展此过程的最佳方法是什么?
如果我创建第二个拉取队列并在两者之间拆分任务,这会使我的容量翻倍吗?或者还有什么我应该考虑的?
====
这是我添加任务的方式:
q = taskqueue.Queue("pull-queue-name")
q.add(taskqueue.Task(data, method="PULL", tag=tag_name))
【问题讨论】:
-
可能是添加任务到队列的问题?你是怎么做到的?
-
@vitooh,更新问题。
标签: google-app-engine google-cloud-platform