如何知道交易是否成功

时间:2019-08-10 21:24:18

标签: python transactions google-cloud-firestore

在继续操作之前,我需要确保交易已成功完成。

我只是在事务中间放置了一个pdb,然后从Firestore Web界面更新字段值。如果我继续,transaction.settransaction.update尚未完成,但是我找不到找到它的方法。

import firebase_admin
from firebase_admin import firestore
from firebase_admin import credentials


cred = credentials.ApplicationDefault()
firebase_admin.initialize_app(cred, {
    'projectId': 'foo',
})


db = firestore.client()
collection = db.collection('bar')
db_obj = collection.document('oNFxSaRXdplSby1eeHlL')


@firestore.transactional
def update_in_transaction(transaction, object_ref):
    snapshot = object_ref.get(transaction=transaction)
    if not snapshot.exists:
        import pdb; pdb.set_trace()
        transaction.set(object_ref, {'text': 'foobar'})


transaction = db.transaction()
update_in_transaction(transaction, db_obj)

是否有办法知道该值是从当前事务更新的,而不是由在另一个进程中运行的另一个更新的?

0 个答案:

没有答案