def rebuild_indicators(indicator_config_id, initiated_by=None, limit=-1, source=None, engine_id=None, diffs=None): config = _get_config_by_id(indicator_config_id) success = _('Your UCR table {} has finished rebuilding in {}').format(config.table_id, config.domain) failure = _('There was an error rebuilding Your UCR table {} in {}.').format(config.table_id, config.domain) send = False if limit == -1: send = toggles.SEND_UCR_REBUILD_INFO.enabled(initiated_by) with notify_someone(initiated_by, success_message=success, error_message=failure, send=send): adapter = get_indicator_adapter(config) if engine_id: if getattr(adapter, 'all_adapters', None): adapter = [ adapter_ for adapter_ in adapter.all_adapters if adapter_.engine_id == engine_id ][0] elif adapter.engine_id != engine_id: raise AssertionError("Engine ID does not match adapter") if not id_is_static(indicator_config_id): # Save the start time now in case anything goes wrong. This way we'll be # able to see if the rebuild started a long time ago without finishing. config.meta.build.initiated = datetime.utcnow() config.meta.build.finished = False config.meta.build.rebuilt_asynchronously = False config.save() skip_log = bool(limit > 0) # don't store log for temporary report builder UCRs adapter.rebuild_table(initiated_by=initiated_by, source=source, skip_log=skip_log, diffs=diffs) _iteratively_build_table(config, limit=limit)
def rebuild_indicators(indicator_config_id, initiated_by=None, limit=-1): config = _get_config_by_id(indicator_config_id) success = _('Your UCR table {} has finished rebuilding in {}').format( config.table_id, config.domain) failure = _( 'There was an error rebuilding Your UCR table {} in {}.').format( config.table_id, config.domain) send = False if limit == -1: send = toggles.SEND_UCR_REBUILD_INFO.enabled(initiated_by) with notify_someone(initiated_by, success_message=success, error_message=failure, send=send): adapter = get_indicator_adapter(config) if not id_is_static(indicator_config_id): # Save the start time now in case anything goes wrong. This way we'll be # able to see if the rebuild started a long time ago without finishing. config.meta.build.initiated = datetime.utcnow() config.meta.build.finished = False config.meta.build.rebuilt_asynchronously = False config.save() adapter.rebuild_table() _iteratively_build_table(config, limit=limit)
def resume_building_indicators(indicator_config_id, initiated_by=None): config = _get_config_by_id(indicator_config_id) success = _('Your UCR table {} has finished rebuilding in {}').format(config.table_id, config.domain) failure = _('There was an error rebuilding Your UCR table {} in {}.').format(config.table_id, config.domain) send = toggles.SEND_UCR_REBUILD_INFO.enabled(initiated_by) with notify_someone(initiated_by, success_message=success, error_message=failure, send=send): resume_helper = DataSourceResumeHelper(config) _iteratively_build_table(config, resume_helper)
def resume_building_indicators(indicator_config_id, initiated_by=None): config = _get_config_by_id(indicator_config_id) success = _('Your UCR table {} has finished rebuilding').format(config.table_id) failure = _('There was an error rebuilding Your UCR table {}.').format(config.table_id) send = toggles.SEND_UCR_REBUILD_INFO.enabled(initiated_by) with notify_someone(initiated_by, success_message=success, error_message=failure, send=send): resume_helper = DataSourceResumeHelper(config) _iteratively_build_table(config, resume_helper)
def rebuild_indicators_in_place(indicator_config_id, initiated_by=None): config = _get_config_by_id(indicator_config_id) success = _('Your UCR table {} has finished rebuilding').format(config.table_id) failure = _('There was an error rebuilding Your UCR table {}.').format(config.table_id) send = toggles.SEND_UCR_REBUILD_INFO.enabled(initiated_by) with notify_someone(initiated_by, success_message=success, error_message=failure, send=send): adapter = get_indicator_adapter(config, can_handle_laboratory=True) if not id_is_static(indicator_config_id): config.meta.build.initiated_in_place = datetime.utcnow() config.meta.build.finished_in_place = False config.save() adapter.build_table() _iteratively_build_table(config, in_place=True)
def resume_building_indicators(indicator_config_id, initiated_by=None): config = _get_config_by_id(indicator_config_id) success = _('Your UCR table {} has finished rebuilding').format(config.table_id) failure = _('There was an error rebuilding Your UCR table {}.').format(config.table_id) send = toggles.SEND_UCR_REBUILD_INFO.enabled(initiated_by) with notify_someone(initiated_by, success_message=success, error_message=failure, send=send): resume_helper = DataSourceResumeHelper(config) relevant_ids = resume_helper.get_ids_to_resume_from() if len(relevant_ids) > 0: _build_indicators(config, get_document_store(config.domain, config.referenced_doc_type), relevant_ids, resume_helper) last_id = relevant_ids[-1] iteratively_build_table(config, last_id, resume_helper)
def resume_building_indicators(indicator_config_id, initiated_by=None): config = _get_config_by_id(indicator_config_id) success = _('Your UCR table {} has finished rebuilding').format(config.table_id) failure = _('There was an error rebuilding Your UCR table {}.').format(config.table_id) send = toggles.SEND_UCR_REBUILD_INFO.enabled(initiated_by) with notify_someone(initiated_by, success_message=success, error_message=failure, send=send): resume_helper = DataSourceResumeHelper(config) relevant_ids = resume_helper.get_ids_to_resume_from() if len(relevant_ids) > 0: _build_indicators(config, get_document_store(config.domain, config.referenced_doc_type), relevant_ids, resume_helper) last_id = relevant_ids[-1] _iteratively_build_table(config, last_id, resume_helper)
def rebuild_indicators_in_place(indicator_config_id, initiated_by=None, source=None): config = _get_config_by_id(indicator_config_id) success = _('Your UCR table {} has finished rebuilding in {}').format(config.table_id, config.domain) failure = _('There was an error rebuilding Your UCR table {} in {}.').format(config.table_id, config.domain) send = toggles.SEND_UCR_REBUILD_INFO.enabled(initiated_by) with notify_someone(initiated_by, success_message=success, error_message=failure, send=send): adapter = get_indicator_adapter(config) if not id_is_static(indicator_config_id): config.meta.build.initiated_in_place = datetime.utcnow() config.meta.build.finished_in_place = False config.meta.build.rebuilt_asynchronously = False config.save() adapter.build_table(initiated_by=initiated_by, source=source) _iteratively_build_table(config, in_place=True)
def rebuild_indicators(indicator_config_id, initiated_by=None): config = _get_config_by_id(indicator_config_id) success = _('Your UCR table {} has finished rebuilding').format(config.table_id) failure = _('There was an error rebuilding Your UCR table {}.').format(config.table_id) send = toggles.SEND_UCR_REBUILD_INFO.enabled(initiated_by) with notify_someone(initiated_by, success_message=success, error_message=failure, send=send): adapter = IndicatorSqlAdapter(config) if not id_is_static(indicator_config_id): # Save the start time now in case anything goes wrong. This way we'll be # able to see if the rebuild started a long time ago without finishing. config.meta.build.initiated = datetime.datetime.utcnow() config.meta.build.finished = False config.save() adapter.rebuild_table() _iteratively_build_table(config)
def rebuild_indicators(indicator_config_id, initiated_by=None, limit=-1, source=None): config = _get_config_by_id(indicator_config_id) success = _('Your UCR table {} has finished rebuilding in {}').format(config.table_id, config.domain) failure = _('There was an error rebuilding Your UCR table {} in {}.').format(config.table_id, config.domain) send = False if limit == -1: send = toggles.SEND_UCR_REBUILD_INFO.enabled(initiated_by) with notify_someone(initiated_by, success_message=success, error_message=failure, send=send): adapter = get_indicator_adapter(config) if not id_is_static(indicator_config_id): # Save the start time now in case anything goes wrong. This way we'll be # able to see if the rebuild started a long time ago without finishing. config.meta.build.initiated = datetime.utcnow() config.meta.build.finished = False config.meta.build.rebuilt_asynchronously = False config.save() skip_log = bool(limit > 0) # don't store log for temporary report builder UCRs adapter.rebuild_table(initiated_by=initiated_by, source=source, skip_log=skip_log) _iteratively_build_table(config, limit=limit)
def rebuild_indicators_in_place(indicator_config_id, initiated_by=None): config = _get_config_by_id(indicator_config_id) success = _('Your UCR table {} has finished rebuilding').format( config.table_id) failure = _('There was an error rebuilding Your UCR table {}.').format( config.table_id) send = toggles.SEND_UCR_REBUILD_INFO.enabled(initiated_by) with notify_someone(initiated_by, success_message=success, error_message=failure, send=send): adapter = get_indicator_adapter(config, can_handle_laboratory=True) if not id_is_static(indicator_config_id): # Save the start time now in case anything goes wrong. This way we'll be # able to see if the rebuild started a long time ago without finishing. config.meta.build.initiated = datetime.datetime.utcnow() config.meta.build.finished = False config.save() adapter.build_table() _iteratively_build_table(config)
def rebuild_indicators_in_place(indicator_config_id, initiated_by=None, source=None, domain=None): config = get_ucr_datasource_config_by_id(indicator_config_id) success = _('Your UCR table {} has finished rebuilding in {}').format( config.table_id, config.domain) failure = _( 'There was an error rebuilding Your UCR table {} in {}.').format( config.table_id, config.domain) send = toggles.SEND_UCR_REBUILD_INFO.enabled(initiated_by) with notify_someone(initiated_by, success_message=success, error_message=failure, send=send): adapter = get_indicator_adapter(config) if not id_is_static(indicator_config_id): config.meta.build.initiated_in_place = datetime.utcnow() config.meta.build.finished_in_place = False config.meta.build.rebuilt_asynchronously = False config.save() adapter.build_table(initiated_by=initiated_by, source=source) _iteratively_build_table(config, in_place=True)