我使用的是SDK的1.9.9版,我遇到了devserver的问题。我有一个带有1个实例的手动缩放模块。我为webapp2.RequestHandler
创建了/_ah/start
。在那个处理程序中,我开始一个后台线程当我在devserver中运行我的应用程序时,_ah/start
处理程序返回200,但/_ah/background
将随机返回500个错误。一段时间后(通常是一两分钟,但有时甚至更多),500错误会停止,但会每隔几个小时再次随机发生。似乎每次我打开一个新的浏览器标签(Chrome),我都会得到同样的错误。任何人都知道可能导致这种情况的原因吗?
以下是RequestHandler
的{{1}}:
/_ah/start
这是500错误:
class StartupHandler(webapp2.RequestHandler):
def get(self):
runtime.set_shutdown_hook(shutdown_hook)
global foo
if foo is None:
foo = Foo()
background_thread.start_new_background_thread(do_foo, [])
self.response.http_status_message(200)
答案 0 :(得分:2)
那么这可能不是答案,但完成特定任务分配到后端需要多长时间?似乎是并发问题
答案 1 :(得分:1)
看起来问题(据我目前所知)是我使用PyCharm,它在进入或退出窗口时同步项目的文件。即使没有更改,这也会重写项目文件,这会导致devserver重新启动所有实例,从而导致500错误。