Web services 如何在短时间内从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,但文档明确指出它不适合于用户等待结果的

我正在开发一个依赖GAE服务的客户端应用程序。此服务需要在不到1分钟的时间间隔内轮询远程web服务以获取更新,因此cron作业可能不是实现此目的的方法

从GAE服务中,我需要每隔几秒钟轮询web服务,然后更新客户端应用程序。因此,要分解它:

  • GAE服务每隔5秒轮询远程web服务
  • 如果进行了更改,请立即更新客户端应用程序
  • 第2步已经解决了,但我正在努力找到一个好方法来进行这种轮询。我无法控制远程web服务,因此无法对此进行任何更改

    我已经看过了
    任务队列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/
    的请求处理程序永不返回,这将使它永远运行(除了定期重新启动)。见此: