Web services 如何在短时间内从GAE服务轮询web服务?
我正在开发一个依赖GAE服务的客户端应用程序。此服务需要在不到1分钟的时间间隔内轮询远程web服务以获取更新,因此cron作业可能不是实现此目的的方法 从GAE服务中,我需要每隔几秒钟轮询web服务,然后更新客户端应用程序。因此,要分解它:Web services 如何在短时间内从GAE服务轮询web服务?,web-services,google-app-engine,google-cloud-datastore,long-polling,Web Services,Google App Engine,Google Cloud Datastore,Long Polling,我正在开发一个依赖GAE服务的客户端应用程序。此服务需要在不到1分钟的时间间隔内轮询远程web服务以获取更新,因此cron作业可能不是实现此目的的方法 从GAE服务中,我需要每隔几秒钟轮询web服务,然后更新客户端应用程序。因此,要分解它: GAE服务每隔5秒轮询远程web服务 如果进行了更改,请立即更新客户端应用程序 第2步已经解决了,但我正在努力找到一个好方法来进行这种轮询。我无法控制远程web服务,因此无法对此进行任何更改 我已经看过了任务队列API,但文档明确指出它不适合于用户等待结果的
任务队列API
,但文档明确指出它不适合于用户等待结果的交互式应用程序
解决此问题的最佳方法是什么?使用cron以交错的ETA安排一系列taskqueue任务
def cron_job(): # scheduled to run every 5 minutes
for i in xrange(0, 60*5, 5):
deferred.defer(poll_web_service, _countdown=i)
def poll_web_service():
# do stuff
或者,使用这种频率级别,您还可以在该服务器上有一个专用实例。您可以通过手动缩放microservice来实现这一点,并且可以让/\u ah/start/
的请求处理程序永不返回,这将使它永远运行(除了定期重新启动)。见此:
使用cron计划一组具有交错ETA的taskqueue任务
def cron_job(): # scheduled to run every 5 minutes
for i in xrange(0, 60*5, 5):
deferred.defer(poll_web_service, _countdown=i)
def poll_web_service():
# do stuff
或者,使用这种频率级别,您还可以在该服务器上有一个专用实例。您可以通过手动缩放microservice来实现这一点,并且可以让/\u ah/start/
的请求处理程序永不返回,这将使它永远运行(除了定期重新启动)。见此: