python – App Engine:是否将time.sleep()计入我的配额?

python – App Engine:是否将time.sleep()计入我的配额?,第1张

概述嘿.我正在开发一个App Engine应用程序,其中包含查询Google Maps API进行地理编码. Google地图不太喜欢太多的请求,所以我在time.sleep(1)之间的每个请求之间延迟1秒. 我注意到我的GAE仪表板中的配额不足,决定运行一个简短的测试: import cProfileimport timedef foo(): time.sleep(3)cProfi 嘿.我正在开发一个App Engine应用程序,其中包含查询Google Maps API进行地理编码. Google地图不太喜欢太多的请求,所以我在time.sleep(1)之间的每个请求之间延迟1秒.

我注意到我的GAE仪表板中的配额不足,决定运行一个简短的测试:

import cProfileimport timedef foo():    time.sleep(3)cProfile.run('foo()')

其中给了我以下输出:

4 function calls in 3.003 cpu seconds   Ordered by: standard name   ncalls  tottime  percall  cumtime  percall filename:lineno(function)        1    0.000    0.000    3.003    3.003 <stdin>:1(foo)        1    0.000    0.000    3.003    3.003 <string>:1(<module>)        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}        1    3.003    3.003    3.003    3.003 {time.sleep}

所以说它在一段时间内消耗3个cpu秒(3).现在我想知道这些电话是否符合GAE提供的配额限制.如果是这样,在API地址解析呼叫之间延迟的其他方式是什么?

谢谢.

解决方法 你当然不想试图睡在一个完全从头到尾完成设计的系统,以便在绝对最短的时间内完成请求:D

您可以做的是为每个地理编码创建一个任务(查看deferred library).您需要为此任务指定一个队列,然后将队列上的速率限制设置为地图geocoder可能会感到舒适的任何方式.

这样,每个地理编码都可以运行,你永远不会比你设置的速率上限要快,而且你不需要做任何管道.

总结

以上是内存溢出为你收集整理的python – App Engine:是否将time.sleep()计入我的配额?全部内容,希望文章能够帮你解决python – App Engine:是否将time.sleep()计入我的配额?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1206630.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存