Tag: google app engine

Выполнить функцию, когда очередь задач пуста на appengine

У меня есть работа cron каждый день, чтобы позвонить в API и получить некоторые данные. Для каждой строки данных я запускаю очередь задач для обработки данных (которая включает в себя поиск данных с помощью дополнительных API-интерфейсов). Как только все это закончится, мои данные не будут меняться в течение следующих 24 часов, поэтому я сохраню его. […]

Сортировка объектов и фильтрация ListProperty, не приводящая к разрыву индексов

Я разрабатываю простую платформу Blogging / Bookmarking, и я пытаюсь добавить функцию тегов-explorer / drill-down, которая позволяет пользователям фильтровать сообщения, определяющие список определенных тегов. Что-то вроде этого: Сообщения представлены в хранилище данных с этой упрощенной моделью: class Post(db.Model): title = db.StringProperty(required = True) link = db.LinkProperty(required = True) description = db.StringProperty(required = True) tags = […]

проблема с jinja2 autoescape в google app engine webapp

Я решил установить jinja2 для использования с моим приложением webapp, чтобы поддерживать функциональность autoescape. Поэтому я установил jinja2 в python 2.5 и создал символическую ссылку в моем проекте, чтобы указать на этот каталог. Это в основном работает нормально. ЗА ИСКЛЮЧЕНИЕМ, когда я действительно пытаюсь использовать тег {% autoescape true%}, я получаю сообщение: File "/Users/me/project/templates/_base.html", line […]

Как проверить DateTimeProperty в App Engine NDB?

Я пытаюсь проверить фильтр для DateTimeProperty с NDB App Engine, но у меня он установлен для auto_now? Есть ли способ обойти это для модульного тестирования? Пример: class MyModel(ndb.Model) timestamp = ndb.DateTimeProperty(auto_now) name = ndb.StringProperty() def testMyModelFilter(self): test1 = MyModel() test1.timestamp = datetime.datetime.now() – datetime.timedelta(hours=2) test1.put() test2 = MyModel() test2.timestamp = datetime.datetime.now() – datetime.timedelta(hours=1) test2.put() hour_ago […]

Декораторы класса в Python 2.5?

Есть ли способ заставить декораторов классов работать в Google App Engine , который ограничен Python 2.5 ? Или позвольте мне перефразировать это: возможно ли изменить поведение парсера Python из того же самого процесса, который он уже выполняет? Пример: good.py: alter_python_parser() import bad bad.py: @decorated class Foo(object): pass Или это просто невозможно. Объяснение: Я хочу использовать […]

Ручка 404 бросить по коду в appengine

Я управляю «настоящими» 404 ошибками таким образом: application = webapp.WSGIApplication([ ('/', MainPage), #Some others urls ('/.*',Trow404) #I got the 404 page ],debug=False) Но в некоторых частях моего кода я бросаю ошибку 404 self.error(404) и я хочу показать ту же страницу, о которой упоминалось ранее, – есть ли способ поймать ошибку 404 и управлять ею? Я […]

Как я могу создать новый объект модели, а затем прочитать его сразу после?

Мой вопрос в том, что лучший способ создать новый объект модели, а затем прочитать его сразу же после. Например, class LeftModel(ndb.Model): name = ndb.StringProperty(default = "John") date = ndb.DateTimeProperty(auto_now_add=True) class RightModel(ndb.Model): left_model = ndb.KeyProperty(kind=LeftModel) interesting_fact = ndb.StringProperty(default = "Nothing") def do_this(self): # Create a new model entity new_left = LeftModel() new_left.name = "George" new_left.put() # […]

Миграции данных и AppEngine

Я много работал в rails и занимаюсь разработкой проектов с использованием python & app engine. Из демонстрационного проекта и того, что я видел до сих пор, у меня есть вопрос / беспокойство о проектах приложений: Как переносится миграция данных в приложении? Например, если я изменяю имя сущности / таблицы (например, «Тексты в документы») или изменяю […]

Как повторить urlfetch.fetch несколько раз в случае ошибки?

Довольно часто GAE не может загрузить файл, и я получаю следующую ошибку: ApplicationError: 2 Traceback (most recent call last): File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 636, in __call__ handler.post(*groups) File "/base/data/home/apps/picasa2vkontakte/1.348093606241250361/picasa2vkontakte.py", line 109, in post headers=headers File "/base/python_runtime/python_lib/versions/1/google/appengine/api/urlfetch.py", line 260, in fetch return rpc.get_result() File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 592, in get_result return self.__get_result_hook(self) File "/base/python_runtime/python_lib/versions/1/google/appengine/api/urlfetch.py", line 355, in _get_fetch_result […]

Рекурсивные отношения с Google App Engine и BigTable

В классической реляционной базе данных у меня есть следующая таблица: CREATE TABLE Person( Id int IDENTITY(1,1) NOT NULL PRIMARY KEY, MotherId int NOT NULL REFERENCES Person(Id), FatherId int NOT NULL REFERENCES Person(Id), FirstName nvarchar(255)) Я пытаюсь преобразовать эту таблицу в таблицу Google App Engine. Моя проблема связана с полями MotherId и FatherId. Я попробовал код […]

Python - лучший язык программирования в мире.