NDB 에서 Transaction을 사용하는 방법
기본적으로 아래와 같이 사용하면 된다.
key = ndb.Key(Greeting, 'joe') @ndb.transactional def greet(): ent = key.get() if ent is None: ent = Greeting(key=key, message='Hey Joe') ent.put() return ent greet()
ndb.transaction() 함수를 사용해도 된다.
key = ndb.Key(Greeting, 'joe') def greet(): ent = key.get() if ent is None: ent = Greeting(key=key, message='Hey Joe') ent.put() return ent moraes = ndb.transaction(lambda: greet())
transaction 내에서 에러가 발생할 경우 재시도 횟수도 설정 할 수 있다.
@ndb.transactional(retries=1) # Total of 2 tries def greet(): # do greeting
반응형
'Dev. > Google App Engine' 카테고리의 다른 글
Datastore - NDB API(Python) : 데이터 조회 하기(Query) (0) | 2013.08.31 |
---|---|
Datastore - NDB API(Python) : Property Type (0) | 2013.08.23 |
Datastore - NDB API(Python) : Model Hooks 사용하기 (trigger 역할) (0) | 2013.08.22 |
Datastore - NDB API(Python) : Entity의 구조를 정확히 모를때 (동적 Entity) (0) | 2013.08.21 |
Datastore - NDB API(Python) : Key를 이용한 데이터 삭제 (0) | 2013.08.16 |