我希望用spawning替换AppEngine的devserver。 Spawning处理标准的wsgi处理程序,就像appengine一样,因此在其上运行你的应用程序很容易。
但是devserver考虑了你的app.yaml文件,它有url重定向等等。我一直在浏览devserver代码,很容易得到像这样的BaseHTTPRequestHandler:
from google.appengine.tools.dev_appserver import CreateRequestHandler
dev = CreateRequestHandler(os.path.dirname(__file__), '', require_indexes=False, static_caching=True)
但BaseHTTPRequestHandler不是一个WSGI应用程序,所以我的猜测是我需要在它周围添加一些东西才能使它工作。任何提示?
答案 0 :(得分:2)
我认为你不能拔出dev_appserver的一部分,并且很容易在自定义的WSGI服务器中使用它。 dev_appserver做了很多“魔术”,它并没有真正的结构化被拉出来并用作另一个服务器中的WSGI包装器(更可惜的是)。
您可能想要查看正在制作备用服务环境的T wistedAE;如果你真的想使用产卵,你可以使用TwistedAE的工作作为基础。
那就是说,如果你想自己做,有几个选择:
无论你做什么都要记住:App Engine明确要求其应用程序采用单线程环境。如果您希望应用程序在本地工作,就像在生产环境中或在dev_appserver上一样工作,请不要使用多线程方法!