私は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)
ただし、バックエンドは起動しません。リクエストの完了やリクエストからのデータの取得には興味がありません。
私は何が欠けています-間違った実装ですか?
皆さん、ありがとうございました