我试图在推送队列中执行一些任务,以大约每秒一次的速度执行
以下是我定义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秒钟吗?
谢谢, 伊泰
答案 0 :(得分:0)
好的,似乎我缺少的是设置任务的Delay
字段
这样就可以了:
t := taskqueue.NewPOSTTask("/tasks/readalerts", map[string][]string{})
t.Delay = time.Second