Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于python是否存在与finalize()调用等效的RequestHandler?_Python_Google App Engine - Fatal编程技术网

对于python是否存在与finalize()调用等效的RequestHandler?

对于python是否存在与finalize()调用等效的RequestHandler?,python,google-app-engine,Python,Google App Engine,基于webapp.RequestHandler的处理程序可以覆盖initialize()以执行设置。是否有类似的finalize()?我是否可以覆盖del()以实现此目的 基本上,我希望在post/get功能完成后生成一些日记账条目,这样就不会出现在返回浏览器的响应的关键路径中 我可以(1)在这个“finalize”调用中这样做,假设它是在响应刷新到浏览器后调用的,或者(2)将工作推送到一个单独的线程池队列上。如果有办法做到前者,那就容易多了 谢谢。您可以覆盖\uu del\uuu,但这是危险的

基于webapp.RequestHandler的处理程序可以覆盖initialize()以执行设置。是否有类似的finalize()?我是否可以覆盖del()以实现此目的

基本上,我希望在post/get功能完成后生成一些日记账条目,这样就不会出现在返回浏览器的响应的关键路径中

我可以(1)在这个“finalize”调用中这样做,假设它是在响应刷新到浏览器后调用的,或者(2)将工作推送到一个单独的线程池队列上。如果有办法做到前者,那就容易多了


谢谢。

您可以覆盖
\uu del\uuu
,但这是危险的(可能会引入GC循环和无法收集的对象),并且不会给您带来任何好处

您不会获得任何收益,因为在WSGI应用程序返回之前,应用引擎运行时不会将响应返回给用户,而在所有用户代码执行完毕之前,这不会发生。同样,前端上的线程的运行时间不能超过为其创建线程的请求的范围


如果您想在请求范围之外执行工作,应该使用任务队列。

您可以覆盖
\uuuu del\uuuu
,但这是危险的(可能会引入GC循环和无法收集的对象),并且不会给您带来任何好处

您不会获得任何收益,因为在WSGI应用程序返回之前,应用引擎运行时不会将响应返回给用户,而在所有用户代码执行完毕之前,这不会发生。同样,前端上的线程的运行时间不能超过为其创建线程的请求的范围


如果您想在请求范围之外进行工作,您应该使用任务队列。

感谢Nick的深入了解!我将看一看任务队列,这似乎是一个非常好的提示(很抱歉,这一切都是新的…)感谢Nick的伟大洞察力!我将看一看任务队列,这似乎是一个很好的提示(很抱歉,这一切都是新的…)