0

我需要在 AppEngine 数据存储区中创建并存储一个对象的单个实例(永远不需要多个对象)。这是我正在安排的 cron 作业的最后一次运行时间。这个想法是 cron 作业只会拾取自上次运行以来创建/更新的那些行进行处理,并在完成后更新上次运行时间,考虑到并发问题,最好的方法是什么好吧 - 如果以前的工作没有完成运行?

4

1 回答 1

1

如果我正确理解您的问题,听起来您可以创建一个“作业簿记”实体,记录作业当前是否正在运行,以及有关您正在处理的作业的任何必要状态。

然后,使用事务访问该簿记实体,以便一次只有一个进程可以对其进行读取 + 更新。这将让您在开始新工作之前安全地检查另一个工作是否仍在运行。

(数据存储是非关系的,所以我猜你提到的“行”,你的意思是你需要处理的某种实体?你的簿记实体可以存储一些关于你处理了哪些实体的状态,所以到目前为止,这将让您查询新的要处理的)。

于 2012-10-15T09:59:29.410 回答