2014-01-06 12 views
1

我在加载我的GAE模块时遇到问题。如何从cron作业加载基本模块

我cron.yaml:

cron: 
- description: call frontend instance to call module 
    url: /callLoadAndProcess 
    schedule: every day 01:00 
    timezone: America/New_York 

然后我的app.yaml的相关部分:

- url: /callLoadAndProcess 
    script: callLoadAndProcess.application 
    secure: always 
    login: admin 

现在我callLoadAndProcess.py:

import sys 
import webapp2 
import os 
import urllib2 
import logging 
from google.appengine.api import modules 

class callLoadAndProcess(webapp2.RequestHandler): 
    def get(self): 
     modules.start_module("loadandprocess","1") 

application = webapp2.WSGIApplication([('/callLoadAndProcess', callLoadAndProcess)],debug=True) 

对于我的模块,我有一个loadandprocess.yaml,它是:

application: [application name] 
module: loadandprocess 
version: 1 
runtime: python27 
instance_class: B4_1G 
basic_scaling: 
    max_instances: 1 

handlers: 
- url: /.* 
    script: loadAndProcess.application 
    login: admin 

最后,loadAndProcess.py是我想要运行的后端模块的脚本:

class loadAndProcess(webapp2.RequestHandler): 
    def get(self): 
      #DO STUFF 

application = webapp2.WSGIApplication([('/loadAndProcess', loadAndProcess)],debug=True) 

在我的开发服务器上,当我试图通过运行管理页面cron作业,我得到以下错误:

line 138, in _CheckAsyncResult 
raise mapped_error() 
InvalidVersionError 

我觉得我设置正确...和版本号匹配..我错过了什么?谢谢!

+0

你怎么开始dev_server.py,你可以发布CMD行参数? – alex

+0

下面是我如何启动我的服务器: dev_appserver.py [appname] /app.yaml [appname] /loadandprocess.yaml [appname] /dispatch.yaml – user3058197

回答

0

在本地运行的应用程序,同时指定.yaml文件dev_appserver.py

dev_appserver.py -A your-app-id application.yaml worker.yaml 
+0

检查注释 - 这已经是如何调用服务器(甚至更好, 'dispatch.yaml'文件也包含在内) –