Я бы первый взглянуть на модулях, по крайней мере, по этим причинам:
- модулей действительно во многом (почти) приравненный к целому (одномодульных) приложениям в старых Docs/ссылки, поэтому, когда позиция модуля в иерархии приложения уточняется, различные сообщения, ссылающиеся на контекст приложения, обычно могут быть экстраполированы только в контексте только для модулей.
- в настоящее время приложение может использовать различные языки/песочницы для различных модулей (см Run both Java and PHP on google app engine project) или даже для разных версий одного и того же модуля (см Google App Engine upgrading part by part)
Лично я бы придерживаться the recommended мульти-модульной структурой приложения - каждый модуль имеет свой собственный каталог, один уровень ниже директории приложения:
топ реж для приложения будет держать за приложение конфиги (которые не применимы к конкретному модулю): dispatch.yaml
, cron.yaml
, index.yaml
, и queue.yaml
. Обратите внимание, что определения cron-заданий и определения очередей задач принадлежат здесь (но ничто не мешает вам маршрутизировать/отправлять различные задания cron на различные модули на основе запрошенных путей).
Я бы также разместил на верхнем уровне приложения все файлы/каталоги, которые я хотел бы разделить на несколько модулей по DRY. Эти файлы/dirs будут совместно использоваться модулем, символизируя их внутри соответствующих модулей, чтобы модуль получал свою собственную копию при развертывании. Почти ничего, что может существовать в виде отдельного файла или каталога могут быть разделены таким образом:
Наконец рекомендуемые файлы/реж структура конкретного модуля может также зависеть от языка модуля/песочницы, рамки (ов), девелопер стиль/предпочтение и т.д. Я не подумайте, что можно дать рекомендацию об одном размере, которая была бы эффективной/приемлемой во всех случаях.
Я бы также добавил сторонние библиотеки, которые потенциально могут использоваться более чем одним модулем и тестовым кодом. –