воскресенье, февраля 07, 2010

GAE как сделать rollback в java

Почему-то GAE сильно ориентирован на питонистов и в ошибках часто даёт подсказки только для них. Или может считают что те кто на джаве пишут сами догадаются...

Вобщем наконец я смог сломать своё приложение до состояния когда пришлось пользоваться консолью. Во время очередного деплоймента мне показалось что оно зависло и я отменил его и перезапустил eclipse. В итоге стал получать сообщение вида: "Another transaction by user *** is already in progress for this app and major version. That user can undo the transaction with appcfg.py's "rollback" command.". Вобщем пришлось лезть к консольным GAE тулзам в eclipse (*path to eclipse*)/plugins/com.google.appengine.eclipse.sdkbundle_VERSION/appengine-java-sdk/bin/ и там запустить (вариант для винды) appcfg.cmd -e vasyapupkin@gmail.com rollback <путь к war директории проекта eclipse>.

Также попробовал GAE "Task Queues". На мой взгляд замечательная вещь, очень удобно по сравнению со стандартными велосипедами на кроне. Жаль пока это экспериментальная фича и повально использовать даже в своём тестовом проектике я не буду пока.

Из новых обнаруженных небольших недостатков GAE:
- сторадж не очень стабилен, т.е. ситуации когда что-то не удаляется или не добавляется не так уж редки, что для серьёзных задач наверное сильно добавит гемороя;
- в java невозможно удалить неиспользуемые индексы (в гуглогруппах советуют сделать это из питоновского sdk), это ни на что не влияет но раздражает :).

Комментариев нет: