Google app engine db模型是否有一个count_async()等价物?

Google app engine db模型是否有一个count_async()等价物?,google-app-engine,asynchronous,Google App Engine,Asynchronous,NB:我在这里使用的是db(不是ndb)。我知道ndb有一个count\u async(),但我希望有一个不涉及迁移到ndb的解决方案。 有时,我需要精确计算与查询匹配的实体数。对于db,这只是: q = some Query with filters num_entities = q.count(limit=None) 每个实体需要一个小的db操作,但它可以为我提供所需的信息。问题是,我经常需要在同一个请求中执行其中的一些操作,异步执行这些操作会很好,但在db库中我看不到对此的支持 我想我可

NB:我在这里使用的是db(不是ndb)。我知道ndb有一个count\u async(),但我希望有一个不涉及迁移到ndb的解决方案。

有时,我需要精确计算与查询匹配的实体数。对于db,这只是:

q = some Query with filters
num_entities = q.count(limit=None)
每个实体需要一个小的db操作,但它可以为我提供所需的信息。问题是,我经常需要在同一个请求中执行其中的一些操作,异步执行这些操作会很好,但在db库中我看不到对此的支持

我想我可以使用run(keys_only=True,batch_size=1000),因为它异步运行查询并返回迭代器。我可以首先对每个查询调用run(),然后计算每个迭代器的结果。它的成本与count()相同,但是run()在测试中被证明较慢(可能是因为它实际上返回结果),而且事实上,不管我将其设置得多高,批大小似乎都限制在300,这需要比count()方法更多的RPC来计数数千个实体

我的run()测试代码如下所示:

queries = list of Queries with filters
iters = []
for q in queries:
  iters.append( q.run(keys_only=True, batch_size=1000) )
for iter in iters:
  count_entities_from(iter)

不,在db中没有等价物。ndb的全部意义在于它添加了db中缺少的这些功能。

感谢您的回复。我想我需要提高将这个项目迁移到ndb的优先级。