我们正在使用Google App Engine实施多用户计时器。当计时器结束时,我们需要做一些计算并将结果发送给用户。一些用户应该能够从不同的浏览器启动和暂停计时器。我们将使用Channels API进行通信。我们怎样才能在特定时间触发计算?
我们的一个想法是,当计时器启动时,创建一个推送任务,eta
设置为计时器完成时间。当该任务运行时,检查存储在memcache或数据存储区中的计时器状态,如果由于暂停计时器而修改了状态,则创建另一个任务。如果计时器完成,任务将启动计算。是否有更好的方法,因为无法保证任务完全在eta
?
答案 0 :(得分:0)
你可以有一个不断重复的任务(重新入队自己,最终以秒指定的延迟),这将检查计时器状态并在适当时执行计算,或者如果没有则返回。