我需要在AppEngine数据存储区中创建和存储对象的单个实例(永远不需要有多个对象)。 这是我正在安排的cron作业的最后一次运行时间。 我们的想法是,cron作业只会获取自上次运行以来已创建/更新的行,并在完成后更新上一次运行时间, 考虑到并发性问题,最好的方法是什么?如果以前的工作还没有完成运行?
答案 0 :(得分:1)
如果我理解你的问题,听起来你可以创建一个“工作簿记”实体来记录当前正在运行的工作,以及关于你在工作中处理什么的任何必要状态。
然后,使用事务访问该簿记实体,这样一次只有一个进程可以对其进行读取+更新。这样可以让您在开始新工作之前安全地检查另一个作业是否仍在运行。
(数据存储区是非关系型的,所以我猜你提到'行',你是指你需要处理的某种实体?你的簿记实体可以存储一些关于你这些实体的状态' d到目前为止处理,这将让你查询新的处理)。