Example #1
0
def update_user_index():
    url1 = SOLR_HOST + "user/dataimport?command=delta-import"
    url2 = SOLR_HOST + "admin/cores?action=RELOAD&core=user"
    metric = METRIC + "update_user_index"

    try:
        profiler = ProfilingRecord().start(metric)
        response1 = requests.get(url1)
        if response1.status_code != 200:
            profiler.stop(response1.status_code)
        else:
            response2 = requests.get(url2)
            profiler.stop(response2.status_code)
    except:
        profiler.stop(500)
        return None
Example #2
0
def get_csv_solr(query, query_name='', metric='solr_all'):
    try:
        profiler = ProfilingRecord().start(metric)
        response = requests.get(query)
        profiler.stop(response.status_code)
        return response.content
    except:
        profiler.stop(500)
        return None
Example #3
0
def get_stats_solr(query, stats_field, query_name='', metric='solr_all'):
    try:
        profiler= ProfilingRecord().start(metric)
        response = requests.get(query)
        profiler.stop(response.status_code)
    except:
        profiler.stop(500)
        logger.error("Solr API failure: %s", query, exc_info=True, extra={'response': response})
        return None

    if response.status_code >=400:
        logger.error("Solr API failure: %s", query, exc_info=True, extra={'response': response,})
        return None

    response = response.json()
    if 'stats' in response:
        if 'stats_fields' in response.get('stats'):
            return response.get('stats').get('stats_fields').get(stats_field)
Example #4
0
def get_group_solr(query, group_field, query_name='', metric='solr_all'):
    try:
        profiler= ProfilingRecord().start(metric)
        response = requests.get(query)
        profiler.stop(response.status_code)
    except:
        profiler.stop(500)
        logger.error("Solr API failure: %s", query, exc_info=True, extra={'response': response, 'group': group})
        return None

    if response.status_code >=400:
        logger.error("Solr API failure: %s", query, exc_info=True, extra={'response': response,})
        return None

    response = response.json()
    if 'grouped' in response:
        if 'customer_user_id' in response.get('grouped'):
            if 'groups' in response.get('grouped').get(group_field):
                return response.get('grouped').get(group_field).get('groups')[0].get('doclist').get('docs')