对于python是否存在与finalize()调用等效的RequestHandler?
基于webapp.RequestHandler的处理程序可以覆盖initialize()以执行设置。是否有类似的finalize()?我是否可以覆盖del()以实现此目的 基本上,我希望在post/get功能完成后生成一些日记账条目,这样就不会出现在返回浏览器的响应的关键路径中 我可以(1)在这个“finalize”调用中这样做,假设它是在响应刷新到浏览器后调用的,或者(2)将工作推送到一个单独的线程池队列上。如果有办法做到前者,那就容易多了对于python是否存在与finalize()调用等效的RequestHandler?,python,google-app-engine,Python,Google App Engine,基于webapp.RequestHandler的处理程序可以覆盖initialize()以执行设置。是否有类似的finalize()?我是否可以覆盖del()以实现此目的 基本上,我希望在post/get功能完成后生成一些日记账条目,这样就不会出现在返回浏览器的响应的关键路径中 我可以(1)在这个“finalize”调用中这样做,假设它是在响应刷新到浏览器后调用的,或者(2)将工作推送到一个单独的线程池队列上。如果有办法做到前者,那就容易多了 谢谢。您可以覆盖\uu del\uuu,但这是危险的
谢谢。您可以覆盖
\uu del\uuu
,但这是危险的(可能会引入GC循环和无法收集的对象),并且不会给您带来任何好处
您不会获得任何收益,因为在WSGI应用程序返回之前,应用引擎运行时不会将响应返回给用户,而在所有用户代码执行完毕之前,这不会发生。同样,前端上的线程的运行时间不能超过为其创建线程的请求的范围
如果您想在请求范围之外执行工作,应该使用任务队列。您可以覆盖
\uuuu del\uuuu
,但这是危险的(可能会引入GC循环和无法收集的对象),并且不会给您带来任何好处
您不会获得任何收益,因为在WSGI应用程序返回之前,应用引擎运行时不会将响应返回给用户,而在所有用户代码执行完毕之前,这不会发生。同样,前端上的线程的运行时间不能超过为其创建线程的请求的范围
如果您想在请求范围之外进行工作,您应该使用任务队列。感谢Nick的深入了解!我将看一看任务队列,这似乎是一个非常好的提示(很抱歉,这一切都是新的…)感谢Nick的伟大洞察力!我将看一看任务队列,这似乎是一个很好的提示(很抱歉,这一切都是新的…)