非同期処理から非同期処理を起動したい。
なんてことがあるかどうかは知らないけど、気になってしまった。。。
- データストアへのアクセスは遅いので、出来る限りTaskqueue.add()で非同期に寄せたい
- さらに並列処理もTaskqueue.add()で非同期に寄せたい
この2点を満たそうとしてこんな構造にしてしまった。
- cronからTaskqueue.add()で非同期処理を起動
- DataStoreから後続の並列処理で共通で使うデータを取得
- 1段目の非同期処理で取得したデータを付加してTaskqueue.add()で後続の非同期処理を起動
雰囲気的にはできそう。考慮しなければいけない制約はこんな感じか。
- リクエストのサイズに上限があるので、1段目の非同期処理から並列処理に全てのデータが渡せるか
- 処理するリクエストが増えて処理全体のオーバーヘッドが大きくなる
試してまた書きたい。
コメント
コメントを投稿