スキップしてメイン コンテンツに移動

投稿

ラベル(SESAME)が付いた投稿を表示しています

バグ発見から学ぶ:Cloudflare Workers+Hono で SESAME API を最適化

バグ発見から学ぶ:Cloudflare Workers+Hono で SESAME API を最適化 SESAME に関する記事はこれが 3 本目かもしれない。 今回、SESAME 関連の自前開発をしてて、Cloudflare Workers のバグを発見したので、その顛末を綴っていこう。 SESAME 操作環境遷移 以前の 記事 の通り、自分の SESAME 操作環境は下記のように遷移していった。 Google App Script + IFTTT Google App Script + MacroDroid Cloudflare Workers + MacroDroid(And ショートカット) まず、GAS+IFTTT の王道の組み合わせだが、以下の不満点があった。 IFTTT の反応がゴミ 自分が帰宅範囲内に入っても全然動作しないというやる気の無さっぷりにキレてしまった。 そうして、ネットの海を徘徊して見つけたのが、MacroDroid。 GAS+MacroDroid の組み合わせは、しばらくは不満がなかったのだが、これもまたイライラする要素があった。 それは GAS の起動がゴミ GAS を使ったことがある人なら分かるが、GAS は起動速度がとんでもなく遅い。 Cold start だと平均 9 秒~ 11 秒くらい掛かる。 そもそも、GAS をサーバレス・アーキテクチャとして使うなという話ではあるが、この起動の微妙な遅さのせいで、帰宅してから数秒のタイムラグがあり、キレてしまった。 Cloudflare Workers + Hono に出会う そんなさなか、ひょんな事から Cloudflare Workers + Hono の案件をもらい、実装する事でその汎用性の高さに気がついた。 まあ、この Cloudflare Workers を実装するきっかけになったのも GAS の案件で、死ぬほど GAS の起動が遅いからどうにかしてくれーという話に対応するためであった。 GAS はデータベース的に使うと便利(コンピュータにそこまで詳しくない人でもデータ入力ができる)なのだが、その分高速性は犠牲にされている。 1 分 1 秒が貴重な現代では、10 秒のコールドスタートははっきり言って時間の無駄。 Cloudflare Wo...