depending on how many writes you expect per second, transactions might be sufficient to solve the problem. they are write rate limited, so you may still need sharded counters or some other way to batch writes as suggested by Ryan.
On Thursday, July 9, 2015 at 4:33:42 AM UTC-7, Ankur Jatt wrote: > > Here is the situation > I have a model like > > class Content(ndb.Model): > likeCount=ndb.IntegerProperty(default=0) > likeUser = ndb.KeyProperty(kind=User, repeated=True) > > When a new content generate than a new "Content" object is generated like > > content_obj = Content(parent=objContentData.key, #Where ContentData is > another ndb.Model subclass > likeUser=[], > likeCount=0 > ) > > And when any user like the same content than below function gets called > > def modify_like(contentData_key, user_key): > like_obj = Content.query(parent=contetData_key).get() > if like_obj: > like_obj.likeUser.append(user_key) > like_obj.likeCount += 1 > like_obj.put() > > ###################Problem############# > Now the problem is that when at the same time more than 4 user like the > same content than this object write wrong data. > So how can I solve this problem > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/d251106a-0abe-4b33-88ad-76a436d9139b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
