2

在任务队列中,执行代码以通过 URL Fetch 连接到服务器端。我的文件 queue.yaml。

queue: 
- Name: default 
   rate: 10 / m 
   bucket_size: 1 

在这样的环境中,图斯克同时进行。特殊性是请求之间应该至少延迟 5 秒。任务必须在舞台上执行,相差> 5 秒。(但不平行)。

queue.yaml 中设置的值是什么?

4

2 回答 2

3

目前,您无法指定 中的任务之间的最小延迟queue.yaml;您应该(部分)在您自己的代码中执行此操作。例如,如果您将存储桶大小指定为 1(因此不应一次执行多个任务)并确保任务运行至少 5 秒(start=time.time()在开始时获取 a,time.sleep(time.time()-(5+start))在结束时获取)这应该有效. 如果没有,则将存储中的每个任务记录其完成的时间戳,并在它开始时检查最后一个任务是否在不到 5 秒前结束,在这种情况下立即终止。

于 2009-07-26T05:54:22.560 回答
1

另一种方法是将任务数据存储在表中。在您的任务队列中添加一个 id 参数。从表中获取第一个任务并将其 id 传递给任务队列处理 servlet。在 servlet 中,最后延迟 5 秒和 feth 下一个任务,传递它的 id 和....等等。

于 2010-06-21T09:54:40.970 回答