如何访问GAE上的任务列表?

时间:2010-09-16 11:36:33

标签: google-app-engine scheduled-tasks task-queue

我打算使用GAE的TaskQueue API刷新我的HTML页面缓存,我将其保存在数据存储区(和memcache,但数据存储更可靠)。

每周一次,我添加/编辑一些数据,并需要重新生成相关的HTML页面,触发任务是可行的方法。

请注意,不同的修改可能意味着更改同一个缓存页面。例如,主页包含来自不同数据的若干部分的片段。我想要的是使用延迟(使用一小时的倒计时)将任务启动到任务队列,以便我可以累积多次编辑,最后,将重新生成缓存的页面只有一次。

问题是,如果已经排队等待一小时重新生成页面X的任务,我不需要添加任务来重新生成页面X.因此,我需要检查任务列表,看看是否已经有一个。

如何访问任务列表?

2 个答案:

答案 0 :(得分:2)

我看到添加相同的Task会引发DuplicateTaskNameError,这可能就是我所需要的。

答案 1 :(得分:0)

每当您进行编辑时,您只需从缓存中删除该项即可。然后当有人来阅读页面时,您会注意到它不在缓存中并在那时从数据存储区中获取它并使用新重新获取的数据更新缓存。你应该已经有了这种逻辑,因为你不能总是保证该项目将在缓存中。这将影响您进行更新后第一次获取的速度,但之后就会没问题。