我曾使用 Appstats 记录我在 GAE 项目中的 ndb 使用情况,效果非常好。我的 Appstats 设置遵循此文档。
最近,我移动了一些 ndb 代码以在后台线程上执行,但是这些 ndb 调用不再显示在 Appstats 控制台 UI 上。
我在 dev 和 prod 中都尝试过 Appstats,它们不记录在后台线程中生成的 ndb RPC。
为了明确问题,我的意思是:Appstats 适用于:
class MyHandler(webapp2.RequestHandler):
def put(self):
...
do_a_lot_of_ndb_work()
...
但 Appstats 不适用于:
class MyHandler(webapp2.RequestHandler):
def put(self):
...
background_thread.start_new_background_thread(do_a_lot_of_ndb_work, [])
...
我可以更改 appengine_config.py 中的一些参数或做一些事情来使 Appstats 对两者都适用吗?
更新:以上代码片段在后端运行(basic_scaling,max_instances=1),线程使用参考自https://developers.google.com/appengine/docs/python/modules/#Python_Background_threads