Как проверить, обслуживаются ли индексы хранилища данных в AppEngine? - PullRequest
1 голос
/ 25 августа 2010

Как я могу проверить, работают ли индексы хранилища данных, как определено в index.yaml, в коде python?

Я использую Python 1.3.6 AppEngine SDK.

Ответы [ 2 ]

2 голосов
/ 25 августа 2010

Попытка выполнить запрос, который требует этот индекс.Если он вызывает NeedIndexError, он не загружен или еще не обслуживается.

0 голосов
/ 25 августа 2010

Я не думаю, что есть способ проверить без добавления какой-либо регистрации в код SDK.Если вы используете заглушку SQLite , __FindIndexForQuery, строки 1114-1140, это часть, которая ищет применимые индексы для запроса, и (в строке 1140) возвращает, и я цитирую:

Entity_pb.CompositeIndex PB, если существует подходящий индекс;в противном случае None

Небольшое ведение журнала в этой точке (и когда он собирается упасть до конца, исчерпав цикл - вот как он возвращает None), даст вам след всех ваших индексов, которыена самом деле используется, как часть журналов, конечно.Буфер протокола, который он возвращает, является экземпляром класса, определенного в этом файле , начиная со строки 2576.

Если вы можете объяснить, почему вы хотите это знать, я думаю, эторазумно было бы открыть запрос функции на трекере App Engine, попросив Google добавить протоколирование, которое я предлагаю, чтобы вам не приходилось поддерживать отредактированную версию файла!

(ЕслиВы используете заглушку файла, соответствующий файл - здесь , а деталь к инструменту - около строки 824 и далее, конечно, эта часть будет использоваться, только если вы запускаете SDK в), требуются индексы"mode, AKA" строгий режим ", в противном случае индексы создаются в , а не используются , SDK; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...