connpass APIの呼び出し回数を削減する#1550
Conversation
|
PR ありがとうございます! #1535 についてですが、こちらはマージ後に Rake タスクが失敗し、近日開催の道場などの各種機能が動かなくなったために一旦 Revert した、という経緯になります 😭💦 (原因調査のためコメントで TODO としていました!)
イイですね!! 😻🆒 開発環境では問題なく動き、本番環境では止まったので、タスクの実行時間が長くなったのが原因かなぁと考えていました 🤔💭 そうであれば本 PR で解決するかもですね...!! 👀💡
1つの Dojo が複数の series_id を持っているケースでテストしておくと大体のケースは網羅できると思うので、API 開発の背景周りにも詳しい CoderDojo Kodaira さんの seried_id でテストすると良さそうかなと思いました! (cc/ @togazo さん) coderdojo.jp/db/dojo_event_services.yaml Lines 511 to 518 in 6553a9d |
7668870 to
43ca5e2
Compare
43ca5e2 to
4aa0eb7
Compare
|
@yasulab テストコードを追加しました! |
|
テストコードの追加ありがとうございます...!! (>人< )💖 しばらく時間が取れなさそうなので、まとまった時間が取れるときにマージ&デプロイして、本番環境の方でもうまく動くか試してみますね! 🚀✨ |
There was a problem hiding this comment.
対応ありがとうございます! 🙇
本番環境での問題発生を避けるために、Review App を作成して確認したところ、問題なく集計が行われている事を確認しました。また実行速度もだいぶ早くなっているようで大変嬉しい結果になっています。対応を行っていただき誠にありがとうございます。 😄 ✨
本番環境のログ: https://coderdojo.jp/events
2023-07-18 21:01:01.051 [coderdojo_japan] scheduler.8955 D, [2023-07-19T06:00:31.605584 #2] DEBUG -- : TRANSACTION (0.7ms) BEGIN
2023-07-18 21:01:01.051 [coderdojo_japan] scheduler.8955 UpcomingEvents aggregate
...
2023-07-18 21:06:12.562 [coderdojo_japan] scheduler.8955 近日開催イベント情報を収集しました
2023-07-18 21:06:12.643 [coderdojo_japan] scheduler.8955 D, [2023-07-19T06:06:12.629428 #2] DEBUG -- : TRANSACTION (1.6ms) COMMIT
Review App のログ: https://coderdojo-pi-multiple-s-cxelap.herokuapp.com/events
D, [2023-07-20T01:16:52.111982 #2] DEBUG -- : TRANSACTION (0.6ms) BEGIN
...
2023-07-20T01:17:21.641902 近日開催イベント情報を収集しました
D, [2023-07-20T01:17:21.734215 #2] DEBUG -- : TRANSACTION (1.8ms) COMMIT
|
こちら一旦マージしますね! 🚀✨ |
|
以下、一通り実行して、本番環境でも問題なく動くことも確認しました!! 🚀 ✅ ✨
|
connpass APIは、series_idに複数のグループをカンマ区切りで指定してイベント情報を取得できます。
グループごとにAPIを呼び出すのに比べ、呼び出し回数を大幅に削減できます。これにより、#1535 で導入したSleepを入れても、現実的な時間で情報の取得が完了します。
懸念事項が2つあります。