「殺伐とした開発チームに10秒で癒やしを提供するWebアプリ」をバージョンアップしました
以前ローンチした、殺伐とした開発チームに10秒で癒やしを提供するWebアプリ 「癒やしLGTM」をバージョンアップしました。
アップデート内容
詳細な改善
以下は、パフォーマンス改善でやったメモです。
アップデート前の問題
アップデート内容にある通り、以前はgithub貼付け時に失敗したり、貼付け後のアップロード時間が長いという問題がありました。
以前のワークフローは、
- 事前にTumblrにLGTM gifアニメーション素材をアップロード
- GithubにLGTMテキストの貼り付けがされる度に、TumblrからLGTM素材を取得して、LGTMラベルをgifアニメに加工
- GithubにLGTM gifアニメが表示される
というフローでしたが、
- Tumbrlへのgifアニメーションアップロード
- gifアニメの加工に時間がかかる
- gifアニメの加工に失敗するケースがある
という問題を抱えていました。
改善
やったことは
- 素材のgifアニメと生成されたgifアニメをDropboxで管理
- その際、Dropbox SDKを利用しました
- herokuのバッチ処理(scheduler)で、毎時間毎にgifアニメを生成
- 既に生成済みのgifアニメはスキップする
- GithubにLGTMテキストがコピペされたら、生成済みのGifアニメを返す
です。
都度、Gifアニメを生成する方式をやめて、加工済みの画像を返すというシステムにしました。