2012-04-05 39 views
1

由于无法根据AppEngine Taskqueue: is there a way to determine the queue depth?以编程方式知道TaskQueue计数,因此我正在考虑使用缓存来监视队列。这是可取的还是一个主要罪恶? (我知道缓存不能100%可靠,89%的可靠性对我来说很好)appengine TaskQueue count

+0

'缓存'?你的意思是memcache?为什么你需要知道队列中有多少任务? – 2012-04-08 05:29:29

+0

yeh,mem缓存。我正在轮询一些数据,具体取决于可用性时间戳,并且如果数据当时还不可用,它将很快出现。因此,我已经使用了计算的任务队列,并尝试重试任务队列而不是常规的cron作业。我也想减少CPU使用率一个不必要的任务队列,因此我想监视任务队列。我都听到了解决这个问题的更好的解决方案或者引发性的惯用方法。 – 2012-04-08 14:20:47

+0

对不起,我不明白哪部分需要知道队列中有多少任务。你能澄清吗? – 2012-04-09 03:44:33

回答

1

它不是一个可靠性问题,可以在任何时候清除缓存,然后用零点清除缓存。您需要将计数存储在数据存储中。

查看sharding counters,获取有关如何在数据存储上获得良好写入吞吐量的教程。

+0

我正在使用TaskQueue作为一些线程就像睡觉和继续循环,所以写入数据存储对我来说是过度的,imho。假设TaskQueue计数为0,假设11%的失败率,我很好。 – 2012-04-05 21:25:53