Example #1
0
def _push_to_elasticsearch(nodes_to_update, nodes_to_delete, sync):
    try:
        if not mappings_exist():
            setup_mappings()

        formatted_data = convert_to_bulk_api_format(nodes_to_update, nodes_to_delete)
        response = requests.post(settings.ELASTIC_SEARCH.BULK, data=formatted_data)
        if response.status_code == HTTP_200_OK:
            sync.status = SyncInfo.STATUS.SUCCESSFUL
            _clear_delete_records(nodes_to_update, nodes_to_delete)
        else:
            sync.status = SyncInfo.STATUS.FAILED
    except RuntimeError, error:
        sync.status = SyncInfo.STATUS.FAILED
        logger.error("Sync Failed: %s" % error.message)
Example #2
0
def _find_new_nodes(last_sync):
    if not last_sync:
        setup_mappings()
        return DeliveryNode.objects.all()
    last_sync_time = last_sync.start_time
    return DeliveryNode.objects.filter(created__gte=last_sync_time)