本文整理汇总了Python中system.process_context.ProcessContext.get_target_collection方法的典型用法代码示例。如果您正苦于以下问题:Python ProcessContext.get_target_collection方法的具体用法?Python ProcessContext.get_target_collection怎么用?Python ProcessContext.get_target_collection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类system.process_context.ProcessContext
的用法示例。
在下文中一共展示了ProcessContext.get_target_collection方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_unit_of_work
# 需要导入模块: from system.process_context import ProcessContext [as 别名]
# 或者: from system.process_context.ProcessContext import get_target_collection [as 别名]
def create_unit_of_work(process_name, first_object_id, last_object_id):
""" method is used to insert unit_of_work """
source_collection = ProcessContext.get_source_collection(process_name)
target_collection = ProcessContext.get_target_collection(process_name)
logger = ProcessContext.get_logger(process_name)
unit_of_work = UnitOfWorkEntry()
unit_of_work.set_timestamp('UNIT_TEST')
unit_of_work.set_start_id(first_object_id)
unit_of_work.set_end_id(last_object_id)
unit_of_work.set_source_collection(source_collection)
unit_of_work.set_target_collection(target_collection)
unit_of_work.set_state(UnitOfWorkEntry.STATE_REQUESTED)
unit_of_work.set_process_name(process_name)
unit_of_work.set_number_of_retries(0)
uow_id = unit_of_work_helper.insert(logger, unit_of_work)
return uow_id
示例2: compute_scope_of_processing
# 需要导入模块: from system.process_context import ProcessContext [as 别名]
# 或者: from system.process_context.ProcessContext import get_target_collection [as 别名]
def compute_scope_of_processing(self, process_name, start_time, end_time, time_record):
"""method reads collection and identify slice for processing"""
source_collection_name = ProcessContext.get_source_collection(process_name)
target_collection_name = ProcessContext.get_target_collection(process_name)
source_collection = CollectionContext.get_collection(self.logger, source_collection_name)
query = { AbstractModel.TIMESTAMP : { '$gte' : start_time, '$lt' : end_time } }
asc_search = source_collection.find(spec=query, fields='_id').sort('_id', ASCENDING).limit(1)
if asc_search.count() == 0:
raise LookupError('No messages in timeperiod: %s:%s in collection %s'
% (start_time, end_time, source_collection_name))
first_object_id = asc_search[0]['_id']
dec_search = source_collection.find(spec=query, fields='_id').sort('_id', DESCENDING).limit(1)
last_object_id = dec_search[0]['_id']
unit_of_work = UnitOfWorkEntry()
unit_of_work.set_timestamp(start_time)
unit_of_work.set_start_id(str(first_object_id))
unit_of_work.set_end_id(str(last_object_id))
unit_of_work.set_start_timestamp(start_time)
unit_of_work.set_end_timestamp(end_time)
unit_of_work.set_created_at(datetime.utcnow())
unit_of_work.set_source_collection(source_collection_name)
unit_of_work.set_target_collection(target_collection_name)
unit_of_work.set_state(unit_of_work.STATE_REQUESTED)
unit_of_work.set_process_name(process_name)
unit_of_work.set_number_of_retries(0)
try:
uow_id = unit_of_work_helper.insert(self.logger, unit_of_work)
except DuplicateKeyError as e:
e.first_object_id = str(first_object_id)
e.last_object_id = str(last_object_id)
e.process_name = process_name
e.timestamp = start_time
raise e
self.publishers.get_publisher(process_name).publish(str(uow_id))
msg = 'Published: UOW %r for %r in timeperiod %r.' % (uow_id, process_name, start_time)
self._log_message(INFO, process_name, time_record, msg)
return unit_of_work
示例3: _get_target_collection
# 需要导入模块: from system.process_context import ProcessContext [as 别名]
# 或者: from system.process_context.ProcessContext import get_target_collection [as 别名]
def _get_target_collection(self):
"""collection to store aggregated documents"""
return CollectionContext.get_collection(self.logger, ProcessContext.get_target_collection(self.process_name))