App Engine:我可以在queue.yaml中设置req / min速率而不是req / sec吗?

时间:2014-12-12 15:20:11

标签: google-app-engine message-queue

Google对读写次数的限制为15000 / min。为了保持在这个限制之下,我计算了15000 / min == 250 / sec,所以我的队列配置是:

name: mapreduce-queue
rate: 200/s
max_concurrent_requests: 200

我可以在queue.yaml中直接设置15000 / min的速率吗?我使用200 / s因为15000 / min == 250 /秒调整突发。另外,我觉得我根本不需要max_concurrent_requests限制?

1 个答案:

答案 0 :(得分:1)

是的,你可以。
但是,请使用15000/m代替15000/min

来自the docs

  

率(仅推送队列)

     

在此队列上处理任务的频率。该值是一个数字   然后是斜线和单位时间,单位为s   秒, m表示分钟,h表示小时,d表示天数。例如,   值5 / m表示任务将以每次5次的速率处理   分钟。

     

如果数字为0(例如0 / s),则队列被视为"暂停,"   并且没有处理任务。

  

max_concurrent_requests(仅推送队列)

     

设置在任何给定时可以执行的最大任务数   指定队列中的时间。该值是整数。默认情况下,这个   指令未设置且最大数量没有限制   并发任务。 该指令的一个用途是防止太多   一次运行或防止数据存储争用的任务。

     

限制最大并发任务数会为您提供更多   控制队列的执行速度。例如,你可以   约束正在运行队列任务的实例数。   允许您限制给定队列中的并发请求数   使资源可用于其他队列或在线处理。

在我看来,对于你的情况,max_concurrent_requests是你不想遗漏的东西