调度配置无效

时间:2014-07-02 14:56:59

标签: google-app-engine

我正在尝试更新利用两个模块(默认和批处理)的应用程序。

运行'appcfg update app.yaml batchratings.yaml'后,我收到以下输出:

  

错误400:---开始服务器输出---   验证错误:无效的调度配置 - 模块“批处理”不存在。上传此模块的版本,然后重试。

鉴于这正是我试图通过遵循模块演练中概述的步骤所做的事情,我很确定我忽略了一些显而易见的事情。

来源可在此处获得: https://dl.dropboxusercontent.com/u/7537204/literumble.zip,如果这有助于任何人。

如果有人能够提供有关我应该寻找哪个方向来解决问题,我会非常感激。

3 个答案:

答案 0 :(得分:5)

我遇到了同样的问题,我试图做类似的事情:

appcfg.py update <my_app_dir> app.yaml batchratings.yaml

但appcfg.py帮助更新显示,如果您传递目录,它将始终采用app.yaml。要获取其他模块,您需要使用每个模块的文件路径:

appcfg.py update <my_app_dir>/app.yaml
appcfg.py update <my_app_dir>/batchratings.yaml

为了解决这个问题,它帮助我传递-v以确保它正在更新我传递的模块。

答案 1 :(得分:1)

如果你的应用程序有模块,而不是运行appcfg.py my_app_dir,你可以改为cd my_app_dir,然后运行appcfg.py app.yaml mod1.yaml mod2.yaml等。

不要运行appcfg.py *.yaml,否则你可能会冒着包括dispatch.yaml(如果存在)的风险,因为这会因为&#34;意外的属性而导致失败&#39; dispatch&#39;对于AppInfoExternal类型的对象&#34;。

请务必在之后运行appcfg.py update_dispatch .,以上传调度条目。

答案 2 :(得分:0)

我首先认为它与app.yaml没有模块有关,但根据我正在查看的示例,这是不正确的。

我认为它可能实际上是一个非常愚蠢的事情,你的dispatch.yaml指向批量生产&#39;但是你的实际模块名称是&#39; BatchRankings.py&#39;。注意大写。