我需要在 AppEngine 数据存储区中创建并存储一个对象的单个实例(永远不需要多个对象)。 这是我安排的 cron 作业的最后一次运行时间。 这个想法是,cron 作业只会选取自上次运行以来已创建/更新的行进行处理,并在完成后更新上次运行时间, 考虑到并发问题,最好的方法是什么 - 如果之前的作业尚未完成运行?
最佳答案
如果我正确理解你的问题,听起来你可以创建一个“作业簿记”实体来记录作业当前是否正在运行,以及有关作业处理内容的任何必要状态。
然后,使用事务访问该簿记实体,以便一次只有一个进程可以对其进行读取和更新。这将让您在开始新作业之前安全地检查另一个作业是否仍在运行。
(数据存储是非关系型的,所以我猜测您提到的“行”,您的意思是您需要处理的某种实体?您的簿记实体可以存储有关您需要处理的这些实体中的哪些实体的一些状态” d 到目前为止已处理,这将允许您查询要处理的新数据)。
关于java - 如何在 AppEngine 数据存储区中存储单个实例对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12891163/