GAE(go)推送队列速率未强制执行

时间:2014-07-11 18:31:35

标签: google-app-engine go task-queue

我试图在推送队列中执行一些任务,以大约每秒一次的速度执行 以下是我定义queue.yaml

的方法
queue:
- name: default
  rate: 1/s
  bucket_size: 1
  max_concurrent_requests: 1

我有一个处理程序(用于/tasks/readalerts),它将任务排入队列:

t := taskqueue.NewPOSTTask("/tasks/readalerts", map[string][]string{})
if _, err := taskqueue.Add(context, t, ""); err != nil {
  context.Errorf("%v", err)
} 

一旦我访问/tasks/readalerts,任务确实正在排队,但似乎它在大约60毫秒内运行一次(这是在开发机器上发生的,没有尝试部署它)。

我错过了什么?每个任务执行之间不应该至少有1秒钟吗?

谢谢, 伊泰

1 个答案:

答案 0 :(得分:0)

好的,似乎我缺少的是设置任务的Delay字段 这样就可以了:

t := taskqueue.NewPOSTTask("/tasks/readalerts", map[string][]string{}) 
t.Delay = time.Second