App Engine - 安排用户发起的重复操作?

时间:2014-10-09 00:39:26

标签: google-app-engine cron task-queue

我正在尝试找出一种方法来安排重复操作(具有相当短的重复时间)和一些用户操作引起的初始化。任务和cron似乎都不适合这个。 Cron似乎不适合用户初始化的东西,而且任务似乎不适合重复计划。

我想让用户做一些事情然后开始重复动作。应该每5秒采取一次行动。最终,当用户执行其他操作时,重复操作将结束。

我还不知道App Engine的其他部分是否最适合处理这个问题?或者有没有一个很好的方法来执行任务或cron?或者我应该完全做其他事情?谢谢!

1 个答案:

答案 0 :(得分:1)

您有两种选择。我不了解你的所有要求,所以我列出了两个要求。

  1. 当用户发起操作时,实体将保存到数据存储区(例如" ActionEntity")。 cron作业定期查询数据存储区,如果存在ActionEntity,则创建要执行的任务。当用户取消操作时,ActionEntity将被删除,因此下次此cron作业查询时,它将无法看到它并且无法创建任务。

  2. 当用户启动操作时,会创建一个任务。任务完成后,会检查用户是否取消了操作。如果不是,则创建另一个要以指定延迟执行的任务。等等。

  3. 更新:

    如果您需要非常精确的执行,您可能必须在实例中使用计时器,但是您必须设计自己的故障转移机制,可能使用Memcache。