をdeferred.defer使用して:あなたはタスクのみエンキュー-となることが保証されるように、Googleクラウドデータストア トランザクションの一部としてタスクをキューに入れることができます<a href="https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/creating-tasks#enqueuing_tasks_in_cloud_datastore_transactions" rel="nofollow noreferrer">docs</a>のGoogle App Engineのトランザクション内の状態
を エンキュー - トランザクションが正常にコミットされた場合。
と、この例を示します:
@ndb.transactional
def do_something_in_transaction():
taskqueue.add(url='/path/to/my/worker', transactional=True)
しかし、同じことがdeferred
ライブラリで作成したタスクのためにも当てはまるかどうかは私には明らかではありません。このため:
@ndb.transactional
def do_something_in_transaction():
deferred.defer(my_function)
トランザクションは正常にコミットされた場合にのみエンキューされますか?