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から参照されます。