自己満足であげてるだけのシャド研統計まとめサイトだが、こやつに講じた新しい集計がすんごく重い。
重いのは処理じゃなくて時間。フルで回すと6時間くらいかかる。さすがにそんな無茶するわけにもいかないので、対象を日毎に分割してる。
この分割で困った。
あんまり分割しすぎると精度が出ない。いやまあそんなには求めてないんだけど、それでもそれなりの数ほしい。なのでなるべく大きな塊で値を取っておきたい。
日々の集計対象がどーーーしても少しずつ増えちゃう処理内容やってるから、徐々に実行時間が伸びていく。最初は10分、だんだんのびて29分台にまで乗り始めてしまった。
https://sfv.halipe.co/ の集計周りはcroud runでやってるのだが、最長30分しか回ってくれない。それ以上の長大なやつやりたかったらGCE立てろよってことだと思うし、ごもっとも。
が、それはやりとうない。
正直に言うと変に手こずっててうまくいってないから、Cloud Runでなんとかしたい。
たぶんWorkflows使うのが正解な気はするのだが、明日にもバッチがパンクしてエラー終了しますとかいう状態だったので、学習する余裕がない。
AWSでCFNつかってたから同じノリでいけんじゃないかとは思うんだけども。
題名にした「改善」はちょっと違うかもしれない。たんにCloud Runの領分でなんとかさせるように工夫しました程度の話ではある。
なにやったか
- 実行対象を分割してStorageに保存
- ウン万件の処理対象から本日分をピックアップ
- さらにそれを一回のcloud runで処理できる大きさに分割
- 分割したリストをStorageにテキストで保存
- データ収集
- Storageからファイル一個取り出して消す
- なければ黙って終了
- 取り出したファイルをもとにデータ収集をやる
- 2のデータ収集を定期的になんどか叩く
と言った具合。cloud schedulerで1は一度、2は30分ごとに4~5回セットしている。
別に問題はないんだけど2の処理はいまのとこ20分程度で終わっているから、次回実行までの空き時間がちょっと無駄だなーって思うのと、当日分の処理が終わっていても(データの有り無しにかかわらず)2を起動しちゃうのがバカっぽいなと思っている。
One thought on “集計の改善をした”
現在コメントは受け付けていません。