Моя структура каталогов содержит различные модули ..google app engine (gae), python-- Где взять задачу cron?
админа, апите, и т.д.
Мне нужно создать хроны для обработки обновления моделей, на которые ссылаются в модуле API.
апи имеет собственный YAML файл: api.yaml
Безопасно предположить, что я должен поставить cron.yaml, в том же месте, api.yaml?
// ====== Будущие Примечания
Я был успешным в выполнении простой cronjob со следующими шагами
- cron.yaml в том же каталоге, api.yaml
- api.yaml оставили в покое
- Я добавил запись для нового маршрута к routes.py: маршрут ('/', crontask handlers.CronTaskHandler, методы = [ 'GET'])
- я создал ах andler в отдельном файле cron_task_handler.py, в котором содержится класс CronTaskHandler, содержащий def get (self)
- Я обновил каталог обработчика init.py, чтобы скрыть cron_task_handler.py импорт CronTaskHandler и поместить CronTaskHandler во весь список.
- Я обновил задачу хрон через терминал, перейдя в каталог, содержащий cron.yaml (API) и вошел
appcfg.py -A <app_id> update_cron .
- Я побежал сервер разработки
- Я посетил Localhost: что-то/crontask URL-адрес в браузере
- Я перешел на консоль администратора и увидел мое задание cron под ссылкой cron jobs.
cron.yaml
cron:
- description: something
url: /crontask
schedule: every 1 minutes
cron_task_handler.py
class CronTask(base_class):
def get(self):
print "hello, this is a cron job"
Итак, у меня на самом деле нет «верхнего уровня», все в модуле, с отдельными файлами yaml для каждого модуля .. так что да, у меня многомодульное приложение. Представляете ли вы, что он должен быть размещен, сам по себе, как единственный файл, вне всех модулей? –
Ну, после тестирования, похоже, что можно с уверенностью предположить, что он принадлежит в том же каталоге, что и api.yaml –
Вы имеете в виду, что все в _directory_ (простой случай приложения в документе)? Это тоже работает, но это может запутаться по дороге, так как ваше приложение растет. В этом случае да, вы можете поместить файл 'cron.yaml' в тот же каталог. –