我正在尝试迁移我的应用,一切正常,直到我在app.yaml中更改
从 threadsafe:false 到 threadsafe:true 。
我收到的错误是:
threadsafe:a / b / xyz.app
经过一些谷歌搜索,我发现:
只有顶级目录中的脚本才能用作处理程序,因此如果您有任何子目录,则需要移动它们,并相应地更改脚本引用:
- url:/无论
#这不起作用...
#script:lib / some_library / handler.app
#...这确实有效
script:handler.app
有没有解决方法(如果以上研究有效),因为我不想改变我的项目hirarchy?
答案 0 :(得分:4)
只要它是有效的python导入路径,您就可以将处理程序放在任何位置。
我的app.yaml充满了像
这样的条目- url: /_ah/queue/deferred
script: google.appengine.ext.deferred.application
login: admin
文件夹中需要__init__.py
才能使它们作为模块运行,但您通常可以用/
替换任何.
或者像Daniel建议的那样做,并注意你可能必须首先将sys.path
变为包含lib
dir,然后导入处理程序。
答案 1 :(得分:2)
将主文件放在顶级目录中并导入所有处理程序,然后通过该文件引用它们