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)
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)