本文整理匯總了Python中cqlengine.query.BatchQuery.add_query方法的典型用法代碼示例。如果您正苦於以下問題:Python BatchQuery.add_query方法的具體用法?Python BatchQuery.add_query怎麽用?Python BatchQuery.add_query使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類cqlengine.query.BatchQuery
的用法示例。
在下文中一共展示了BatchQuery.add_query方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: Batch
# 需要導入模塊: from cqlengine.query import BatchQuery [as 別名]
# 或者: from cqlengine.query.BatchQuery import add_query [as 別名]
class Batch(BatchQuery):
'''
Performs a batch of insert queries using async connections
'''
def __init__(self, **kwargs):
self.instances = []
self._batch = BatchQuery()
def batch_insert(self, model_instance):
self.instances.append(model_instance)
def __enter__(self):
return self
def add_query(self, query):
self._batch.add_query(query)
def add_callback(self, fn, *args, **kwargs):
raise TypeError('not supported')
def execute(self):
promises = []
session = get_session()
for instance in self.instances:
query = instance.__dmlquery__(instance.__class__, instance)
query.batch(self._batch)
query.save()
for query in self._batch.queries:
statement = SimpleStatement(str(query))
params = query.get_context()
promises.append(session.execute_async(statement, params))
return [r.result() for r in promises]
def __exit__(self, exc_type, exc_val, exc_tb):
self.execute()