2013-08-10 1 views
5

У меня есть app.yaml, как показано ниже:Как сделать cron работать с определенным модулем движка приложения?

application: myapp 
module: mymodule 
version: 1 
runtime: python27 
api_version: 1 
threadsafe: true 
... 

Приложение также имеет cron.yaml, как показано ниже:

cron: 
- description: increase a value every hour 
    url: /test/inc 
    schedule: every 60 minutes synchronized 

Как сделать мою хроны цели задания mymodule вместо default модуля?

+1

Вы можете использовать dispatch.yaml https: // разработчикам. google.com/appengine/docs/python/modules/routing – voscausa

+0

Это не работает. У меня есть dispatch.yaml рядом с моим cron.yaml с: – Dan

+0

Игнорировать последний комментарий. Это работает, но вам нужно запустить '$ PATH_TO_SDK/appcfg.py update_dispatch' после создания/редактирования файла' dispatch.yaml'. Документация, похоже, не упоминает об этом. – Dan

ответ

8

В новых версиях GAE (протестировано по крайней мере, с 1.8.6), вы можете просто установить цель для хрон задачи:

cron: 
- description: increase a value every hour 
    url: /test/inc 
    schedule: every 60 minutes synchronized 
    target: mymodule 
+0

Я на 1.8.8, и, похоже, это не работает для меня. Пробовал перезапустить сервер тоже. –

+0

Поддерживает ли ваш модуль URL-адрес запроса? У вас есть запись в журнале? Что делает страница cron о статусе? – marianosimone

+0

Да, согласно stdout, cron делает запрос к модулю 'default', а не' api', несмотря на то, что моя задача cron.yaml имеет параметр target: api'. –

Смежные вопросы