Я новичок в движке приложений Google и NDB. Моя проблема: если у меня есть 1 объект в модели, я хочу предотвратить конфликт при 2 параллельных операциях, примеры кода:
class MyModel(ndb.Model)
count = ndb.IntegerProperty()
def update_value(delta)
count=count +delta
операция 1:
my_obj1= MyModel.get_by_id(1)
my_obj1.update_value(10)
my_obj1.put()
операция 2:
my_obj2= MyModel.get_by_id(1)
my_obj2.update_value(20)
my_obj2.put()
Если 2 сеанса вызывают 2 операции параллельно, а перед операциями count=0 для объекта (id=1). Я хочу предотвратить конфликт по count value , например:
operation1: read my_obj1 from entity(id=1)
operation2: read my_obj2 from entity(id=1)
operation1: update_value(10) #count =10
operation2: update_value(20) # count=20
operation1: put() # save to ndb with count =10
operation2: put() # save to ndb with count=20
count=20 в ndb. Желаемое значение count=30 в ndb.
Пожалуйста, покажите мне решения.