MaxMind Europe City слишком велик для GAE

Я пытаюсь использовать базу данных MaxMind City размером около 36 МБ в Google App Engine. К сожалению, GAE допускает максимальный размер файла 32 МБ, и API MaxMind не будет работать, если файл хранится в хранилище Google.

Кто-нибудь придумал способ. Пока мой единственный обходной путь — загрузить «устаревшую» базу данных с устаревшим API, которая занимает всего 27 МБ. Работает нормально, но интересно, что произойдет, если мне когда-нибудь придется полагаться на основной...

Аналогичный вопрос, до сих пор без ответа: Файл базы данных Maxmind слишком велик для приложения AppEngine

Спасибо


person Andrea De Togni    schedule 18.11.2014    source источник
comment
Разве вы не можете поместить этот файл в корзину облачного хранилища и ссылаться на него оттуда?   -  person Stuart Langley    schedule 19.11.2014
comment
Также вы знаете, что App Engine уже предоставляет заголовки GEO? HTTP_X_APPENGINE_CITY и т. д.   -  person Stuart Langley    schedule 19.11.2014
comment
Привет, Стью. Спасибо за ваше предложение, но сохранение в хранилище не работает (пробовал), так как класс чтения maxmind выполняет много fseek, ftell двоичных операций, где-то в коде что-то ломается, так как он читает неправильное количество байтов и вызывает исключение . Также мне нужно найти огромное количество IP-адресов, хранящихся в таблице журнала, получение местоположения запрашивающей стороны страницы не поможет.   -  person Andrea De Togni    schedule 19.11.2014
comment
Есть ошибка поиска после 524287, исправленная в выпуске 1.9.17. Предложите вам попробовать еще раз, когда это выйдет. Если это все еще не работает, значит, это все еще ошибка на нашей стороне, которую мы должны исправить. Кроме того, мы кэшируем результат чтения, поэтому он должен быть довольно быстрым, как только мы загрузим файл в первый раз.   -  person Stuart Langley    schedule 19.11.2014
comment
Привет, Стью, спасибо. У вас есть идентификатор ошибки и ожидаемая дата выпуска?   -  person Andrea De Togni    schedule 19.11.2014
comment
Скоро - пришлите мне свой app_id, и я могу переместить вас, чтобы протестировать его.   -  person Stuart Langley    schedule 19.11.2014
comment
ПРИВЕТ. Это идентификатор моего приложения appnexus-logfiles-groupm. Спасибо   -  person Andrea De Togni    schedule 19.11.2014
comment
Хорошо, можешь попробовать?   -  person Stuart Langley    schedule 19.11.2014
comment
Конечно, мне нужно время, чтобы изменить код. Я дам Вам знать.   -  person Andrea De Togni    schedule 19.11.2014
comment
Привет, Стью, проверено, и все та же проблема. Однако обратите внимание, что в разделе AppEngine->Dashboard->Instances я все еще вижу 1.9.16, а не .17 (дайте мне знать, если вы хотите переключиться на другой метод общения)   -  person Andrea De Togni    schedule 19.11.2014
comment
Ааа, хорошо, иногда это может случиться - нужно будет подождать день или около того.   -  person Stuart Langley    schedule 19.11.2014
comment
Привет @StuartLangley, просто чтобы вы знали, что спустя почти два дня я все еще вижу 1.9.16.   -  person Andrea De Togni    schedule 21.11.2014
comment
Да, была задержка до следующей недели.   -  person Stuart Langley    schedule 22.11.2014
comment
Привет, Стю, теперь я вижу 1.9.17, НО ВСЕ мои задания cron, использующие URLFetch, завершаются сбоем, с исключением Google IO!   -  person Andrea De Togni    schedule 22.11.2014
comment
Можете ли вы добавить строку для вывода URL-адреса, к которому он пытается получить доступ, и, возможно, ошибки cURL? Просто использует syslog(LOG_DEBUG,...) для записи журнала.   -  person Stuart Langley    schedule 23.11.2014
comment
Хорошо, я знаю проблему. Чтобы обойти это, найдите строку в Config.php вроде «io_class» =› self::USE_AUTO_IO_SELECTION и измените ее на «io_class» =› «Google_Io_Stream»   -  person Stuart Langley    schedule 23.11.2014
comment
Привет, Стю, это решило проблему, спасибо. Я буду тестировать 1.9.17 с API MaxMind в середине следующей недели.   -  person Andrea De Togni    schedule 23.11.2014
comment
Версия 1.9.17 НЕ устранила проблему, класс Reader в MaxMind по-прежнему говорит, что база данных содержит поврежденные данные. ТАКЖЕ, и это гораздо более проблематично, так как 1.9.17 у меня неустойчивое поведение file_put_contents: некоторые из моих задач читают файл CSV (с file_read_contents), добавляют строку заголовка или манипулируют данными, а затем перезаписывают его обратно (с file_put_contents). Эти записи сейчас происходят с ошибкой 10 случайным образом (я не вижу какой-либо закономерности с размером файла или другими характеристиками файлов - один и тот же файл иногда работает, иногда нет). Не могли бы вы вернуться к 1.9.16?   -  person Andrea De Togni    schedule 26.11.2014
comment
конечно - спасибо за внимание   -  person Stuart Langley    schedule 27.11.2014
comment
Привет, Стью! Я видел, как ты исправил это благодаря моему комментарию в блоге G+ Google App Engine. Спасибо, теперь все файлы пишутся отлично!   -  person Andrea De Togni    schedule 27.11.2014


Ответы (1)