2

在任务可用之前,我可以阻止 Google AppEngine 拉取任务队列吗?或者,我是否需要轮询一个空队列,直到有任务可用?

4

2 回答 2

2

您需要轮询队列。拉队列的一个典型用例是有多个后端,每个后端一次获得一千个任务。

对于一次几个小时队列中没有任务的用例,推送队列可能更适合。

于 2012-04-25T03:44:08.447 回答
1

不是 100% 确定您的问题,但想尝试一个答案。由 cron 启动的拉取任务队列可能适用。节省运行后端的费用。我有需要序列化和存储的客户端日志数据。在线处理程序只是将客户端数据传递给任务拉取队列。Cron 每分钟启动一次任务,每次运行最多有 10k 个日志项被序列化和存储。(根据您的负载更改设置——这些远远超出了我的适度需求。)在这种情况下,队列充当缓冲区,并且负载峰值会分布在均匀的处理单元中。如果您想快速访问 TQ 数据或具有不可预测的负载,显然没有用。非常重要的是,日志数据序列化将数据写入减少了 1000 倍。可能不适用于您的问题,所以我将以一个大的 HTH 结尾。-史蒂夫

于 2012-04-25T16:57:49.393 回答