Python 在Google应用程序引擎上使用异步urlfetch启动后端

Python 在Google应用程序引擎上使用异步urlfetch启动后端,python,google-app-engine,asynchronous,backend,urlfetch,Python,Google App Engine,Asynchronous,Backend,Urlfetch,我正在试验GAE的几个特性 我已经构建了一个动态后端,但是在没有任务队列的情况下,要让它正常工作,我遇到了一些问题 class StartHandler(webapp2.RequestHandler): def get(self): #... do stuff... if __name__ == '__main__': _handlers = [(r'/_ah/start', StartHandler)] run_wsgi_app(webapp2.WS

我正在试验GAE的几个特性

我已经构建了一个动态后端,但是在没有任务队列的情况下,要让它正常工作,我遇到了一些问题

class StartHandler(webapp2.RequestHandler):

    def get(self):
    #... do stuff...    

if __name__ == '__main__':
    _handlers = [(r'/_ah/start', StartHandler)]
    run_wsgi_app(webapp2.WSGIApplication(_handlers))
后端代码:

class StartHandler(webapp2.RequestHandler):

    def get(self):
    #... do stuff...    

if __name__ == '__main__':
    _handlers = [(r'/_ah/start', StartHandler)]
    run_wsgi_app(webapp2.WSGIApplication(_handlers))
后端是动态的。因此,每当它接到一个电话,它就会做一些事情,然后停止

当我在处理程序中使用时,一切正常:

url = backends.get_url('worker') + '/_ah/start'
urlfetch.fetch(url)
但是我希望这个调用是异步的,因为后端可能需要10分钟才能完成它的工作

因此,我将上述代码更改为:

url = backends.get_url('worker') + '/_ah/start'
rpc = urlfetch.create_rpc()
urlfetch.make_fetch_call(rpc, url)
但是后端不会启动。我对完成请求或从中获取任何数据不感兴趣

我遗漏了什么-实现错误


谢谢大家

使用RPC进行异步调用而不调用RPC对象上的get_result(),将不会授权调用urlfetch。一旦代码退出,未完成的挂起异步调用将被中止


使处理程序异步的唯一方法是将代码排入推送队列

谢谢你的回复和解释。它非常精确。这里很少有人这样做。