gpt4 book ai didi

python - 在 Google App Engine 上使用异步 urlfetch 启动后端

转载 作者:太空宇宙 更新时间:2023-11-03 11:32:51 26 4
gpt4 key购买 nike

我正在试验 GAE 的几个功能。

我已经构建了一个动态后端,但是我在没有任务队列的情况下让这个东西工作时遇到了几个问题

后端代码:

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。一旦您的代码退出,未完成的挂起异步调用将被中止。

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

关于python - 在 Google App Engine 上使用异步 urlfetch 启动后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13937556/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com