【发布时间】:2011-06-24 11:10:55
【问题描述】:
我对使用队列执行任务感到困惑。我已经阅读了文档,我以为我理解了 bucket_size 和 rate,但是当我将 20 个任务发送到一个设置为 5/h、大小为 5 的队列时,所有 20 个任务会尽快一个接一个地执行,不到1 分钟。
deferred.defer(spam.cookEggs,
egg_keys,
_queue="tortoise")
- name: tortoise
rate: 5/h
bucket_size: 5
我想要的是创建 10 个还是 100 个任务,我只希望每小时运行 5 个。因此,完成 20 个任务大约需要 4 小时。我希望他们的处决分散开来。
更新
问题是我假设在本地运行时,遵循了任务执行率规则,但事实并非如此。您无法在本地测试执行率。当我部署到生产环境时,我设置的速率和存储桶大小按预期执行。
【问题讨论】:
-
所以你是说我应该改用计划任务?
-
这是在生产中还是在 dev_appserver 中?我不相信 dev_appserver 尊重执行率。
-
您能以对他人有所帮助的方式回答您自己的问题吗?如果你这样做,你可以选择你的作为正确答案。这可能看起来很奇怪,但在这种情况下最好不要删除。
-
您应该将您的答案发布为答案并将其标记为已接受。所以其他 SO 用户可以告诉你问题已经得到解答。
标签: python google-app-engine queue task